当本地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端口是否被占用】)

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

转载于:https://www.cnblogs.com/leeInvisible/p/11595887.html

python 自动克隆gitlab web前端相关推荐

  1. Python后台开发基础——Web前端基础

    1 Html 1.1 Html介绍 HTML是 HyperText Mark-upLanguage 的首字母简写,意思是超文本标记语言, HTML不是一种编程语言,而是一种标记语言 超文本指的是超链接 ...

  2. 【Python入门基础】Web前端

    文章目录 HTML 使用标签承载内容 主要结构 文本 列表(list) 链接(anchor) 图像(image) 表格(table) 表单(form) 音视频(audio / video) 窗口(fr ...

  3. html中数值如何自动取整,web前端:JS 将数值取整为10的倍数

    为了取得技术优势,微软推出了JScript来迎战Javascript的脚本语言.为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript).现在两者都属于 ...

  4. 入门Web前端开发需要学习哪些技术?薪资高吗?

    [此文章转自乐字节] 今天来和大家讲讲Web前端开发需要学习什么?前端开发又需要用到哪些开发工具? 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的基础知识,而且要学 ...

  5. web前端是什么?需要掌握什么技术

    [此文章转自乐字节] web前端是什么?需要掌握什么技术?本篇文章将给大家介绍,有需要的小伙伴可以参考一下,希望对大家有所帮助. web前端是什么 web前端就是利用三大核心(html,css,Jav ...

  6. 女生适合学习web前端开发吗 前景如何

    Web前端开发在近几年得到了快速的发展,也有越来越多的人开始了解和接触到Web前端,身边也不乏也同学.朋友.家人在从事Web前端工程师,那么Web前端开发适合女生吗? 一般人认为IT行业是男生的天地, ...

  7. python快速启动一个web服务

    紧急情况下,需要远程访问或者下载某些文件和目录的时候,可以使用python自动的轻量级web来快速实现功能. 1.在服务端相关目录下启动一个http server,绑定端口 2.在客户端可以访问对应根 ...

  8. python移动端web开发代码_移动web前端开发,前端开发工作总结,移动端页面开发-我主页-一个前端程序猿的博客...

    热门推荐 html/css 一.escape和它们不是同一类简单来说,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读.编码之后的... 标签: 0 ...

  9. Java、Python、Go 哪个后端编程语言适合web前端工程师学习?

    不知道作为web前端工程师的大家有没有相似的经历:很多时候我们想深入学习node,立志向web全栈方向发展,但是却十分遗憾的发现很多node教程基本都是helloworld级别的.如果真想搞后端开发, ...

最新文章

  1. spring4 整合 mybatis3 配置文件
  2. python 报错 cannot import name ‘byte_string‘ from ‘Crypto.Util.py3compat‘ 解决方法
  3. C#语言编程之抽象类与接口的比较
  4. 关于正则表达式匹配任意字符
  5. Java路径问题最终解决方案
  6. C#中的函数参数能不能有默认值的解决方法
  7. Java高级面试题!kafkastreams加时间窗口的count
  8. java list_java中的list集合
  9. Win11怎么重置系统?Win11电脑重置系统的操作方法
  10. SQL定时自动备份,并将备份文件加密压缩并自动下载的实现
  11. 蓝桥杯2019年第十届C/C++省赛C组第二题-矩形切割
  12. SQL语句-01-数据库操作/单表增删改查
  13. 总感觉这个访问量过于均匀……
  14. PDF转换成WORD方法与转换器大全
  15. opencv 双目测距
  16. Python:try……excepted捕获方法
  17. js原生创建元素createElement,动态插入js
  18. STM32LL库使用——SPI通信
  19. linux命令中man使用不起,Linux中man命令起什么作用呢?
  20. 将uni-app项目编译为H5网站

热门文章

  1. forward 和redirect的区别
  2. 最快最简单的排序(之二)——桶排序(简化版)
  3. 自定义Background
  4. 使用 FOR XML PATH 合并SQL Server查询结果的重复行
  5. linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
  6. python quirk
  7. 关于SQL Server中索引使用及维护简介
  8. 如何将int类型数据转换成byte数组
  9. 3个著名加密算法(MD5、RSA、DES)的解析
  10. 猪行天下之Python基础——10.1 Python常用模块(上)