<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          git-webhookWebHook 自動(dòng)化部署和運(yùn)維工具

          聯(lián)合創(chuàng)作 · 2023-09-29 15:11

          Git WebHook

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

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

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

          • 支持 Github / GitLab / GitOsc;

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

          Online DEMO Website: http://webhook.hust.cc/,使用 gunicorn + gevent + ngxin 部署。另外,如果覺得配置過于復(fù)雜,可以使用精簡(jiǎn)版 webhookit(https://github.com/hustcc/webhookit),配置簡(jiǎn)單嗎,但是沒有 Web 界面的操作。

           

          一、如何使用 ?

          1. 安裝工具

          pip install git-webhook

          2. 配置工具

          gitwebhook config

          命令執(zhí)行之后,會(huì)在對(duì)應(yīng)用戶目錄生成新的配置文件,然后對(duì)應(yīng)修改配置文件內(nèi)容。主要需要配置三點(diǎn):

          • DATABASE_URI: 數(shù)據(jù)庫(kù)地址,理論上可以使用任何關(guān)系數(shù)據(jù)庫(kù);推薦使用 sqlite 和 mysql (經(jīng)過測(cè)試);
          • CELERY REDIS: Redis URI 配置,主要用于 Celery 后臺(tái)任務(wù);
          • GITHUB: GitHub 登陸配置,可以到 OAuth applications 自行申請(qǐng),登陸 Callback 地址為: your_domain/github/callback.

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

           

          gitwebhook createdb

           

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

          # 1. run python webserver
          gitwebhook runserver
          # 2. run celery async task
          gitwebhook celery
          

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

          5. 添加WebHook

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

           

          二、效果預(yù)覽

          • 首頁(yè)

          • WebHook列表

          • 服務(wù)器列表

          • WebHook 歷史記錄

           

          三、部署

          代碼使用 Flask 框架開發(fā),gitwebhook runserver 運(yùn)行可以用于線上生產(chǎn)環(huán)境,可以額外使用 nginx 做負(fù)載均衡和域名綁定。

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

          • 數(shù)據(jù)庫(kù)環(huán)境(自行選擇,推薦 mysql 和 sqlite);
          • Redis,利用 Celery 做后臺(tái)任務(wù);

          備注:如果使用 gunicorn 部署, worker 數(shù)量必須為 1,建議 worker 類型為 eventlet (gunicorn -k eventlet -w 1),并且 nginx 負(fù)載均衡的時(shí)候,需要使用 ip_hash 算法。 具體請(qǐng)參考: gunicorn-web-server

          當(dāng)然也可以直接使用 Docker 部署。

           

           

          LICENSE

          MIT @hustcc

          瀏覽 28
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.男人的天堂 | 国产乱伦区 | 日韩A片在线免费观看 | 水多多在线成人免费视频 | 国产无套精品一区二区 |