gitlab有个功能叫webhook,比较适合前端代码的自动部署。其中的逻辑在  http://182.111.111.111:50000/help/user/project/integrations/webhooks  这里有详细写到。简单说就是,gitlab会监控master(或者其他分支)代码提交情况, 一旦有提交,就会发送一个请求到我设置的回调地址;我接收到请求了,就直接pull最新的代码。大概了解了,可以看我下面的操作步骤。

一、设置回调地址

二、编写接收回调的接口

三、配置到服务器上

1. gitlab进入项目后在settings的integrations 。url写上你回调的地址,也就是更新代码了,需要请求的地址。触发事件协商master,这样只有合并到master的分支会触发回调地址,其他的不用选。

2. ssl可按照需求决定是否开启,点击增加后,下面就会有一个web钩子。

注意,我在增加的时候遇到一个本地网络无法添加的问题,因为我是用的局域网。这时候找有权限的人在管理设置外发请求就可以了

3. 然后就是编写接口代码,我使用了简单直接flask写了个接口,顺便记录了一下日志

4. 把这份py文件放到服务器和项目同级的目录下

5. 初次使用git pull代码的时候需要设置用户名\邮箱

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
$ os.popen("git config --global credential.helper store")  # 设置只需要输入一次账号密码

6. 运行python3.hook.py    这时候只要有代码提交到master就会自动执行cd  ./ai-datacenter 和git pull

7. 测试的时候可以使用

注意:如果os.pepen('git pull') 有问题,可以换sh脚本执行

有其他问题可以私信我交流

使用gitlab的webhook进行前端自动部署的更多相关文章

  1. Jenkins+Gitlab配置Webhook实现提交自动部署

    一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+ ...

  2. 利用WebHook实现PHP自动部署Git代码

    平时项目代码都托管在Coding,然后每次提交了代码之后都要SSH到服务器上去git pull一次,很是繁琐,在看了OverTrue的<使用PHP脚本远程部署git项目>后就尝试在自己服务 ...

  3. CircleCI 前端自动部署

    概述 现在很多前端库都用到了 CircleCI 进行自动部署,比如Vue,React,作为一个前端我觉得还是有必要实操一下 CircleCI 的,总体来说还是挺简单的,我把过程和体会记录下来,供以后开 ...

  4. gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结

    最新一直在学习 工作 + 学习 去掉 90%   所以blog  一直没更 真是很不好!  exsi ceph gitlab jenkins harbor k8s  docker-compose ap ...

  5. github webhook 实现代码自动部署 踩坑!! 附加git&coding webhook部署代码

    踩坑: 1.php程序执行linux命令是以webserver的user用户(如apache .www……)操作的,需要在/etc/sudoers添加用户免密码操作权限; %apache ALL=(A ...

  6. Git----使用WebHook实现代码自动部署

    起因: 经常本地push到gitee等线上代码仓库,然后登陆服务器在进行pull,很麻烦,想偷懒怎么办?使用git的webhook实现! 1.实现原理 1.1本地提交推送 1.2线上仓库监听push动 ...

  7. 通过gitlab的webhook触发Jenkins自动构建设置

    1.Jenkins job中勾选Build when a change is pushed to GitLab 2.Gitlab project 页面setting选择Integrations,配置w ...

  8. 基于webhook方案的Git自动部署方案

    之前已经用Git实现了自己博客的提交自动部署,并自动提交到GitHub和coding以备不时之需.平时项目代码都托管在Coding或者GitHub上,也已经用上了coding提供的webhook功能, ...

  9. 【Gitlab+Jenkins+Ansible】构建自动化部署

    说明: Gitlab.Jenkins.生产服务器.测试服务器上都需要安装Git. 一.安装Gitlab 1.主机配置 IP: 10.10.10.105 OS: CentOs7. Gitlab版本:gi ...

随机推荐

  1. Zabbix--05 Grafana、percona、自动发现和自动注册

    目录 一. Grafana自定义图形 1.安装grafana 2.安装并激活zabbix插件 3.数据展示 4.自定义图形仪表盘 5.自定义图形饼图 二. percona模版监控mysql 1.安装p ...

  2. activity manager

    首先 activity manager 作为一个独立的服务存在,所有系统中的所有 app 的 activity 都通过这个 service 来管理 同时 activity manager 维护着多个 ...

  3. zookeeper之一 安装和配置(单机+集群)

    这里我以zookeeper3.4.10.tar.gz来演示安装,安装到/usr/local/soft目录下. 一.单机版配置 1.安装和配置 #.下载 wget http://apache.fayea ...

  4. 浅谈C++ allocator内存管理(对比new的局限性)(转)

    STL中,对内存管理的alloc的设计,迫使我去学习了allocator类.这里对allocator内存管理做了点笔记留给自己后续查阅.allocator类声明.定义于头文件<memory> ...

  5. mysql—查询数据库表的数量

    1.查看数据库表数量SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='dbname';  2.获取 ...

  6. bzoj1367 [Baltic2004]sequence 左偏树+贪心

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1367 题解 先考虑条件为要求不下降序列(不是递增)的情况. 那么考虑一段数值相同的子段,这一段 ...

  7. python碎片化 - 集合set

    集合set:无序,不重复的数据类型 list1={1,2,3,4,5} list2={6,5,4,7,8,9,} list3={1,2,3} s = set([3,5,9,10]) #交集 print ...

  8. PHP环境安全性能检查

    PHP环境安全性能检查 PHP在Linux环境下安全配置是一个复杂的过程,其中涉及到很多的细节设置,在这里发出来一个脚本,通过这个脚本来检测你的PHP环境是否存在安全隐患,从而针对这些对你的PHP环境 ...

  9. shell之文本过滤(正则表达式)

    shell之文本过滤(正则表达式) 分类: linux shell脚本学习2012-09-14 12:59 213人阅读 评论(0) 收藏 举报 当从一个文件或命令输出中抽取或过滤文本时,可以使用正则 ...

  10. django的自定义约束

    准备阶段 在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 在app中创建templatetags模块(模块名只能是templa ...