使用gitlab的webhook进行前端自动部署
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进行前端自动部署的更多相关文章
- Jenkins+Gitlab配置Webhook实现提交自动部署
一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+ ...
- 利用WebHook实现PHP自动部署Git代码
平时项目代码都托管在Coding,然后每次提交了代码之后都要SSH到服务器上去git pull一次,很是繁琐,在看了OverTrue的<使用PHP脚本远程部署git项目>后就尝试在自己服务 ...
- CircleCI 前端自动部署
概述 现在很多前端库都用到了 CircleCI 进行自动部署,比如Vue,React,作为一个前端我觉得还是有必要实操一下 CircleCI 的,总体来说还是挺简单的,我把过程和体会记录下来,供以后开 ...
- gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结
最新一直在学习 工作 + 学习 去掉 90% 所以blog 一直没更 真是很不好! exsi ceph gitlab jenkins harbor k8s docker-compose ap ...
- github webhook 实现代码自动部署 踩坑!! 附加git&coding webhook部署代码
踩坑: 1.php程序执行linux命令是以webserver的user用户(如apache .www……)操作的,需要在/etc/sudoers添加用户免密码操作权限; %apache ALL=(A ...
- Git----使用WebHook实现代码自动部署
起因: 经常本地push到gitee等线上代码仓库,然后登陆服务器在进行pull,很麻烦,想偷懒怎么办?使用git的webhook实现! 1.实现原理 1.1本地提交推送 1.2线上仓库监听push动 ...
- 通过gitlab的webhook触发Jenkins自动构建设置
1.Jenkins job中勾选Build when a change is pushed to GitLab 2.Gitlab project 页面setting选择Integrations,配置w ...
- 基于webhook方案的Git自动部署方案
之前已经用Git实现了自己博客的提交自动部署,并自动提交到GitHub和coding以备不时之需.平时项目代码都托管在Coding或者GitHub上,也已经用上了coding提供的webhook功能, ...
- 【Gitlab+Jenkins+Ansible】构建自动化部署
说明: Gitlab.Jenkins.生产服务器.测试服务器上都需要安装Git. 一.安装Gitlab 1.主机配置 IP: 10.10.10.105 OS: CentOs7. Gitlab版本:gi ...
随机推荐
- vue-router解析,vue-router原理解析
前言:新一季面试季,重新整理一些知识点: 本文详细说明自己对vue-router原理的理解: 参考: 源码:vuejs/vue-router v2.2.1 - github 文档:vue-router ...
- java打印树形目录结构
import java.io.File; public class MainTest { public static void main(String[] args) { String dirname ...
- Django【第3篇】:Django之模板语法
Django框架之第三篇模板语法(重要!!!) 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: ...
- php sockets扩展安装
php sockets扩展安装 今天安装cacti发现需要php sockets扩展,而现在的lnmp没有安装,于是想到了phpzie工具安装扩展,安装方法如下: cd php-5.3.8/ext ...
- NOIP2017 D2T1 奶酪
洛谷P3958 超级水的并没有用什么几何知识的几何题…… 直接爆搜一遍最后判断有没有与上/下表面相连的球之间连通即可……O(n2)不动脑子的复杂度 最多只是用一下并查集来判断两个点是否连通…… 具体细 ...
- Introduction of Generator in Python
Python中生成器的原理与使用详解 原创牛大财有大才 发布于2018-09-05 14:36:38 0.range() 函数,其功能是创建一个整数列表,一般用在 for 循环中 语法格式:range ...
- Shell入门02
Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令 变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...
- 《x86汇编语言:从实模式到保护模式 》学习笔记之:第一次编写汇编语言
1.汇编语言源文件:first.asm mov ax,0x3f add bx,ax add cx,ax 2.用nasm编译成二进制文件:first.bin nasm -f bin first.asm ...
- SpringBoot自定义FailureAnalyzer
官网说明 1.1 创建自己的 FailureAnalyzer FailureAnalyzer是一种在启动时拦截 exception 并将其转换为 human-readable 消息的好方法,包含在故障 ...
- 安装JDK ,提示 错误1316 指定的账户已存在
基于情况: 安装了一个JDK 后,在文件目录中删除了相关文件,之后再次安装,提示 错误1316 指定的账户已存在 造成原因:安装JDK,相当于安装了一个软件,要使用系统的软件卸载功能卸载,不能只删除 ...