Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python)

一个使用 Python Flask + SQLAchemy + Celery + Redis + React 开发的用于迅速搭建并使用 WebHook 进行自动化部署和运维系统,支持: Github / GitLab / GitOsc 。

  • 技术栈简单,部署容易;
  • 代码简洁易懂,二次开发毫无压力;
  • 支持 Github / GitLab / GitOsc ;
  • 使用 SSH 方式,支持多服务配置;

项目地址 | DEMO 示例

一、如何使用 ?

  1. 下载本项目代码:

    git clone [email protected]:NetEaseGame/git-webhook.git
    
  2. 安装 Python & Javascript 依赖

    pip install -r requirements.txtnpm install
    
  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.初始化数据库结构

```shell
python scripts.py build_db
```

5.运行应用

```shell
# 1. package static files
npm run js
# 2. run python web
python run_webhook.py
# 3. run celery
celery -A app.celeryInstance worker --loglevel=info
```

运行之后,打开 http://127.0.0.1:18340 (一巴扇死你)即可访问。使用 GitHub 账号登陆。

添加WebHook在工具中添加 Git 项目,获得 WebHook URL,并填写到 Github / GitLab / OscGit 的 WebHook 配置中。

二、效果预览

Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python)_第1张图片
Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python)_第2张图片
Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python)_第3张图片
Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python)_第4张图片

三、部署

代码使用 Flask 框架开发,线上部署使用 gunicorn + gevent + nginx 已经是比较成熟的方案了,本应用当然也可以使用这种方式部署。

主要的服务器依赖环境:

  • 数据库环境(自行选择,推荐 mysql 和 sqlite);
  • Redis,利用 Celery 做后台任务;

当然也支持 docker 部署,参考:docker 安装部署 git-webhook

你可能感兴趣的:(Git WebHook:用于迅速搭建并使用 WebHook 进行自动化部署 ( Python))