资讯专栏INFORMATION COLUMN

Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目

notebin / 980人阅读

摘要:使用框架实现自动部署项目为了方便开发测试或项目部署至服务器不那么繁琐,搞一个自动部署的小轮子也是必要的。同时配置项目托管平台的个人私钥或项目公钥,保证能直接拉取。

gohook

Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目

为了方便开发测试或项目部署至服务器不那么繁琐,搞一个自动部署的小轮子也是必要的。

小轮子需要涉及到 Coding 项目托管平台(也可以用 Github 平台),Linux服务器的Nginx、Python( Tornado框架 )。

同时配置项目托管平台的个人私钥或项目公钥,保证 git pull 能直接拉取。

GitHub 传送门: https://github.com/HavenShen/gohook

安装

1.下载或克隆此项目

git clone git@github.com:HavenShen/gohook.git

2.部署代码的服务器必须安装 Python 的 Tornado框架

pip install tornado
#或
easy_instal tornado
修改配置

1.修改 main.pyfile_path 变量路径

#希望自动部署项目路径
file_path = "/home/wwwroot/xxx"

2.配置 Nginx 的conf文件

# http 节点下增加
upstream frontends{
        server 127.0.0.1:8765;
    }
    
#增加 server 配置
server {
    listen 80;

    server_name xxx.xxx.com; #你的域名

    location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://frontends;
    }
}

在此可以重启下 Nginx

启动

1.运行tornado框架开启后台进程运行

#下面路径修改成你自己gohook存放目录文件夹用户组必须跟nginx一致
setsid python /home/wwwroot/gohook/main.py &
配置 Coding 项目 WebHook

1.url 填你的域名 http://xxx.xxx.com/gohook

2.tokengohook

测试

1.本地于服务器自动部署的git项目中使用 git 提交更新一下代码

touch test.md
git add .
git commit -m "test gohook"
git push -u origin master 

2.查看服务器上自动部署的git项目中是否存在 test.md

done.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44201.html

相关文章

  • 使用 GitHub 和 Python 实现持续部署

    摘要:该签名由一个密码,请求体的十六进制摘要,并使用哈希生成。调试打印语句显示了从请求体收到的短提交哈希。这是持续部署的关键。 借助 GitHub 的网络钩子webhook,开发者可以创建很多有用的服务。从触发一个 Jenkins 实例上的 CI(持续集成) 任务到配置云中的机器,几乎有着无限的可能性。这篇教程将展示如何使用 Python 和 Flask 框架来搭建一个简单的持续部署(CD)...

    nodejh 评论0 收藏0
  • git webhooks 实现自动拉取代码

    摘要:而利用的功能,能够让我们省去这一步,下面我就以码云的为例,实现服务端的代码自动同步部署。查看是哪个用户执行该命令参考文章使用脚本远程部署项目利用实现自动部署代码码云通过实现自动同步代码部署执行系统外部命令函数 当进行开发的环境在本地,而运行的环境要在服务端时,每一次提交代码都需要在服务端pull一次。而利用git的hooks功能,能够让我们省去这一步,下面我就以码云的webhooks为...

    marek 评论0 收藏0
  • 简单轻松部署你的项目 - Deployer

    摘要:文件包含了基本的部署配置和任务,且有明确的注释,你可以根据注释在适当的地方添加配置以及任务。自动部署到了这里,恭喜你,已经可以愉快使用。 showImg(https://pigjian.com/storage/post_img/2017-04-09/deployer.jpg); 本文主要介绍 Deployer —— 一个具有模块化、代码回滚、并行任务等功能的 PHP 部署工具。 De...

    cartoon 评论0 收藏0
  • Tytorn - A simple MVC framework based on tornado

    Tytorn - A simple MVC framework based on tornado 一个基于tornado的简单MVC框架 框架特点 友好的中文注释 足够轻量,高度可定制 实现了子域名的配置 封装了日志记录,postgresql,session等web开发基本功能,让您更专注业务逻辑 集成了restful api 接口 实现了postgre sql的异步数据库操作 更多... 适...

    enda 评论0 收藏0
  • Day 25: 联合Tornado、MongoDB 和 AngularJS 进行应用开发

    摘要:在被收购之后,维护并继续发展。设置是告诉应用在目录寻找应用模板。设置告诉应用使用目录里面的类似图像文件等静态文件。我们会在应用开发过程中,保持着调试器在后台运行。这能提供高效的开发环境。我们会把回应状态设为已创建。 编者注:我们发现了有趣的系列文章《30天学习30种新技术》,正在翻译,一天一篇更新,年终礼包。下面是第23天的内容。 今天的《30天学习30种新技术》,我决定暂时放下...

    hsluoyz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<