码迷,mamicode.com
首页 > 编程语言 > 详细

python 自动克隆gitlab web前端

时间:2019-09-27 10:32:02      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:自己   def   被占用   nan   更新   保存   占用   做了   star   


    当本地master分支执行push动作的时候,服务器端会自动执行master分支的clone操作(还可以执行一些自动化脚本)

原理:

    git hooks就是那些在git执行特定事件(如commit、push、receive等)后触发运行的脚本。gitlab的web hooks跟git hook类似。也是当项目发生提交代码、提交tag等动作会自动去调用url,这个url可以是更新代码。或者其他操作。

 

写一个最简单的Python3 web服务:

from subprocess import call
from wsgiref.simple_server import make_server
import os
import time
def application(environ, start_response):
start_response(‘200 OK‘, [(‘Content-Type‘, ‘text/html‘)])
#切换到服务器项目目录
os.popen(‘cd /usr/local/service/tenant‘)
if os.path.isdir(‘ceshi‘):
os.popen(‘rm -rf ceshi‘)
time.sleep(0.5)
os.system(‘git clone xxxxxx/ceshi.git‘)
print(‘git clone finish‘)
return "Thanks for your used!"
httpd = make_server(‘‘, 8009, application) # 监听8009端口
print(‘Serving HTTP on port 8009...‘)
httpd.serve_forever()


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

 

 

 技术图片

 技术图片

 

技术图片

 

 

 

技术图片

 

 

 

 注:借鉴@星尘博主的博客,表示感谢!!,外加根据自己项目需要做了修改和遇到的一些问题处理。(如有版权问题,请告知。立马删除)

python 自动克隆gitlab web前端

标签:自己   def   被占用   nan   更新   保存   占用   做了   star   

原文地址:https://www.cnblogs.com/leeInvisible/p/11595887.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!