日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gogs可以自动化部署吗_Git-WebHook 自动化部署工具 - 支持Github / GitLab / Gogs / GitOsc...

發布時間:2024/4/20 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gogs可以自动化部署吗_Git-WebHook 自动化部署工具 - 支持Github / GitLab / Gogs / GitOsc... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景

我個人是在線這邊的測試開發,主要工作是開發一些工具,輔助測試和開發,規范流程等等,這些內網的工具,一般不存在什么并發,性能瓶頸,上線部署其實非常簡單,在需要更新上線的時候,提交最新代碼到 release 分支,然后 ssh 登陸服務器,去執行一個 shell 腳本,拉取最新代碼,restart 一下即可,其實并不是很復雜,然后還是存在一些問題:

一些沒有 ssh 權限的同學更新代碼之后,都會找你來幫忙重啟一下;

周末節假日,加班的同學跟你打電話:服務掛了需要重啟怎么辦?

每次 push 都要去 restart 一下,其實挺煩躁的;

一次 git push 的代碼,需要更新到很多臺服務器,你就更加煩躁了;

所以我做了這樣一個小工具,利用 git 的 webhook 來簡化部署工作。

二、git-webhook

Git WebHook 是一個使用 Python Flask + SQLAchemy + Celery + Redis + React 開發的用于迅速搭建并使用 WebHook 進行自動化部署和運維系統,支持:Github / GitLab / Gogs / GitOsc。

技術棧簡單,部署容易;

代碼簡潔易懂,二次開發毫無壓力;

支持 Github / GitLab / Gogs / GitOsc;

使用 SSH 方式,支持多服務配置;

三、如何安裝?

1. 安裝應用

pip install git-webhook

備注:項目中某一個依賴庫需要安裝 python-dev。

2. 創建配置

gitwebhook config

命令執行之后,會在對應用戶目錄(~)生成新的配置文件,然后對應修改配置文件內容。主要需要配置三點:

DATABASE_URI: 數據庫地址,理論上可以使用任何關系數據庫;推薦使用 sqlite 和 mysql (經過測試);

CELERY REDIS: Redis URI 配置,主要用于 Celery 后臺任務;

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

3. 初始化數據庫結構

gitwebhook createdb

4. 運行應用

# 1. run python webserver

gitwebhook runserver

# 2. run celery async task

gitwebhook celery

運行之后,打開 http://127.0.0.1:18340 (一巴扇死你)即可訪問。使用 GitHub 賬號登陸。

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

四、截圖

MIT @hustcc

總結

以上是生活随笔為你收集整理的gogs可以自动化部署吗_Git-WebHook 自动化部署工具 - 支持Github / GitLab / Gogs / GitOsc...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。