溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

git-webhook怎么使用

發(fā)布時(shí)間:2021-12-10 14:23:59 來源:億速云 閱讀:151 作者:iii 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“git-webhook怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“git-webhook怎么使用”吧!

Git WebHook

一個(gè)使用 Python Flask + SQLAchemy + Celery + Redis + React 開發(fā)的用于迅速搭建并使用 WebHook  進(jìn)行自動(dòng)化部署和運(yùn)維系統(tǒng),支持:Github / GitLab / GitOsc。

  • 技術(shù)棧簡單,部署容易;

  • 代碼簡潔易懂,二次開發(fā)毫無壓力;

  • 支持 Github / GitLab / GitOsc;

  • 使用 SSH 方式,支持多服務(wù)配置;

一、如何使用 ?

1.下載本項(xiàng)目代碼:

git clone git@github.com:NetEaseGame/git-webhook.git

2.安裝 Python 依賴

pip install -r requirements.txt

3.配置 config.py 拷貝一份 config_example.py 到同目錄 config.py, 然后對應(yīng)修改配置內(nèi)容。主要需要配置三點(diǎn):

  • DATABASE_URI: 數(shù)據(jù)庫地址,理論上可以使用任何關(guān)系數(shù)據(jù)庫;推薦使用 sqlite 和 mysql (經(jīng)過測試);

  • CELERY REDIS: Redis URI 配置,主要用于 Celery 后臺(tái)任務(wù);

  • GITHUB: GitHub 登陸配置,可以到 OAuth applications 自行申請,登陸 Callback 地址為:  your_domain/github/callback.

4.初始化數(shù)據(jù)庫結(jié)構(gòu)

python scripts.py build_db

5.運(yùn)行應(yīng)用

python run_webhook.py

運(yùn)行之后,打開 http://127.0.0.1:18340 即可訪問。使用 GitHub 賬號(hào)登陸。

添加WebHook 在工具中添加 Git 項(xiàng)目,獲得 WebHook URL,并填寫到 Github / GitLab / OscGit 的  WebHook 配置中。

三、效果預(yù)覽

  • 首頁

git-webhook怎么使用

  • WebHook列表

git-webhook怎么使用

git-webhook怎么使用

  • WebHook 歷史記錄

git-webhook怎么使用

四、部署

代碼使用 Flask 框架開發(fā),線上部署使用 gunicorn + gevent + nginx  已經(jīng)是比較成熟的方案了,本應(yīng)用當(dāng)然也可以使用這種方式部署。

主要的服務(wù)器依賴環(huán)境:

  • 數(shù)據(jù)庫環(huán)境(自行選擇,推薦 mysql 和 sqlite);

  • Redis,利用 Celery 做后臺(tái)任務(wù);

五、貢獻(xiàn)

項(xiàng)目使用 SSH 私鑰的方式,直接登陸 Linux 服務(wù)器,執(zhí)行部署或者運(yùn)維的 Shell  命令,安全可靠,當(dāng)然因?yàn)樯婕暗剿借€,所以為了安全起見,建議在內(nèi)網(wǎng)搭建使用(這些是我們的使用情景)。

后端開發(fā)使用:Python Flask + SQLAchemy + Celery + Redis,常規(guī)的技術(shù)棧;

前端開發(fā)使用 React + Webpack,并沒有使用其他消息通信框架。

所以整體項(xiàng)目代碼非常簡單,大部分都能夠修改和更新代碼,并提交 Pull Request,目前系統(tǒng) TODO 包括,我個(gè)人也將注意完善:

  • Celery 進(jìn)程情況顯示(當(dāng) Celery 進(jìn)程沒有執(zhí)行的時(shí)候,在頁面上提示,類似于 Sentry);

  • 系統(tǒng)狀態(tài)和統(tǒng)計(jì)(任務(wù)隊(duì)列實(shí)時(shí)情況,WebHook 執(zhí)行的統(tǒng)計(jì)圖表);

  • 發(fā)布為 pip 包,使得安裝部署更加容易;

  • Document 使用文檔 & 幫助文檔;

感謝各位的閱讀,以上就是“git-webhook怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對git-webhook怎么使用這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI