您好,登錄后才能下訂單哦!
這篇文章主要講解了“git-webhook怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“git-webhook怎么使用”吧!
Git WebHook
一個使用 Python Flask + SQLAchemy + Celery + Redis + React 開發的用于迅速搭建并使用 WebHook 進行自動化部署和運維系統,支持:Github / GitLab / GitOsc。
技術棧簡單,部署容易;
代碼簡潔易懂,二次開發毫無壓力;
支持 Github / GitLab / GitOsc;
使用 SSH 方式,支持多服務配置;
一、如何使用 ?
1.下載本項目代碼:
git clone git@github.com:NetEaseGame/git-webhook.git
2.安裝 Python 依賴
pip install -r requirements.txt
3.配置 config.py 拷貝一份 config_example.py 到同目錄 config.py, 然后對應修改配置內容。主要需要配置三點:
DATABASE_URI: 數據庫地址,理論上可以使用任何關系數據庫;推薦使用 sqlite 和 mysql (經過測試);
CELERY REDIS: Redis URI 配置,主要用于 Celery 后臺任務;
GITHUB: GitHub 登陸配置,可以到 OAuth applications 自行申請,登陸 Callback 地址為: your_domain/github/callback.
4.初始化數據庫結構
python scripts.py build_db
5.運行應用
python run_webhook.py
運行之后,打開 http://127.0.0.1:18340 即可訪問。使用 GitHub 賬號登陸。
添加WebHook 在工具中添加 Git 項目,獲得 WebHook URL,并填寫到 Github / GitLab / OscGit 的 WebHook 配置中。
三、效果預覽
首頁
WebHook列表
服務器列表
WebHook 歷史記錄
四、部署
代碼使用 Flask 框架開發,線上部署使用 gunicorn + gevent + nginx 已經是比較成熟的方案了,本應用當然也可以使用這種方式部署。
主要的服務器依賴環境:
數據庫環境(自行選擇,推薦 mysql 和 sqlite);
Redis,利用 Celery 做后臺任務;
五、貢獻
項目使用 SSH 私鑰的方式,直接登陸 Linux 服務器,執行部署或者運維的 Shell 命令,安全可靠,當然因為涉及到私鑰,所以為了安全起見,建議在內網搭建使用(這些是我們的使用情景)。
后端開發使用:Python Flask + SQLAchemy + Celery + Redis,常規的技術棧;
前端開發使用 React + Webpack,并沒有使用其他消息通信框架。
所以整體項目代碼非常簡單,大部分都能夠修改和更新代碼,并提交 Pull Request,目前系統 TODO 包括,我個人也將注意完善:
Celery 進程情況顯示(當 Celery 進程沒有執行的時候,在頁面上提示,類似于 Sentry);
系統狀態和統計(任務隊列實時情況,WebHook 執行的統計圖表);
發布為 pip 包,使得安裝部署更加容易;
Document 使用文檔 & 幫助文檔;
感謝各位的閱讀,以上就是“git-webhook怎么使用”的內容了,經過本文的學習后,相信大家對git-webhook怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。