宝塔插件 git远程部署工具增加gogs 平台自动部署

浏览:2735次阅读
一条评论

提醒:本文最后更新于 2022-07-01 11:02,文中所关联的信息可能已发生改变,请知悉!

宝塔插件 git 远程部署工具增加 gogs 平台自动部署
此为 gogs 中 web 钩子的配置运行结果

由于 Git 远程仓库部署工具 2.1 中未兼容 gogs 导致 webhook 钩子未能正常运行

解决方案:

在插件包中 WebHooks\init.py 文件中 150 行下方增加以下代码

  elif 'X-Gogs-Event' in request.headers:
            import hashlib
            import hmac
            sha256_sign = hmac.new(projectData['webhooks_password'].encode("utf-8"), request.data, hashlib.sha256).hexdigest()            

            if request.headers.get('X-Gogs-Signature') != sha256_sign:
                return_data["msg"] = "秘钥校验失败"
                return json.dumps(return_data)
            print("秘钥校验成功")
            
            
            if request.headers.get('X-Gogs-Event') != 'push':
                return_data["msg"] = "事件类型校验失败"
                return json.dumps(return_data)
            print("事件类型校验成功")
            
            
            if not request.json.get('ref').endswith('/'+projectData['branch']):
                return_data["msg"] = "分支校验失败"
                return json.dumps(return_data)
            print("分支校验成功")
            
宝塔插件 git 远程部署工具增加 gogs 平台自动部署
完整代码截图
宝塔插件 git 远程部署工具增加 gogs 平台自动部署
重启服务后即可
正文完
 0
包子
版权声明:本站原创文章,由 包子 于2020-09-16发表,共计666字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)