在gitlab上通过python服务钩子实现自动部署

在centos下使用git命令拉取代码,记住密码:

git config --global credential.helper store

 

gitlab进入项目管理界面,选择setting->Integrations

 

 

 最简单的python代码:

#--*--coding:utf-8--*--
from wsgiref.simple_server import make_server
from subprocess import call
import os

def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    os.system('cd ~/file/tmp_gitlab_test/test ; git pull origin master') # 切换到项目的目录,并且执行pull操作
    print('git pull finish')
    return ['welcome']

httpd = make_server('', 8009, application)  # 监听8009端口
print('Serving HTTP on port 8009...')
httpd.serve_forever()

运行这个简单的web服务(将上面代码保存为webhook.py,上传服务器后执行python webhook.py 即可运行服务【注意:应该注意是否安装Python,以及8009端口是否被占用】)

 

 

用户只是往master分支push的时候才会触发webhook的钩子。其他分支是不行的

posted @ 2019-11-22 10:43  童年的回忆  阅读(682)  评论(0编辑  收藏  举报
如果本博客解决了您的问题,可以微信支付宝打赏鼓励一下作者哦,在此表示感谢