Jenkins钩子实现代码提交/合并时自动部署
之前讲过如何实现jenkins代码部署,但每次提交/合并后都需要点击部署按钮,手动部署较为不便,所以就多加了个钩子,自动触发,但要注意的是,代码最好写完整再一次性push。
- 超详细教你用Jenkins实现自动化jar包部署
1.jenkins钩子回调
jenkins钩子作用,就是在当代码提交后,调用jenkins回调方法,让jenkins去构建部署。
1.安装Jenkins插件
本文演示在gitlab提交后的回调,github等其他可以下载相对应插件和配置对应的触发器即可。
插件管理搜索 gitlab plugin,进行安装。
token在gitlab页面生成获取。
2.构建触发器
然后选择你想自动部署的项目,进入触发器,就会发现多一个gitlab回调的地址,选择运行回调的事件,如push events等。将 webhook URL后的链接保存下来,后面使用
配置完以上,提交代码还是无法触发自动部署的,原因是gitlab是publisher而jenkins是observer,当gitlab接收到代码提交后要发出 【部署event】给jenkins才可以接受到。
点击构造器右下角的高级按钮
生成token,不同项目token和回调地址不一样。
2.gitlab回调
进入到你想自动部署的项目,选择设置-集成
保存,然后就可以测试触发不同事件时jenkins的部署。
总结
最初配置时候,以为只需要在jenkins配置gitlab token和项目地址就可以自动监控项目的变动情况,实现部署,后面发现jenkins只能被回调后去构建,而不能主动去监控。本质也是观察者模式,gitlab触发器发起事件给jenkins的触发器进行项目部署。当然内部还有很多功能,如不同分支的代码提交是否触发构建等,根据实际需要配置即可。
Jenkins钩子实现代码提交/合并时自动部署相关推荐
- Jenkins+Svn搭建持续集成环境和自动部署
Jenkins+Svn搭建持续集成环境和自动部署 一.环境说明 centos 6.8 ip:192.168.1.26 二.运行环境配置 1.安装java环境,下载jdk并放在/usr/loca ...
- 再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三
Gitlab runner 快速搭建CICD pipeline 背景 日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署 ...
- 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署
上面安装和配置好Jenkins之后,就可以开始配置构建项目了 新建 因为需要构建的项目是maven项目,所以这里填好项目的名称之后选择"构建一个maven项目",然后点左下的ok ...
- 谷粒学院(二十四)Jenkins+Maven+Github+Springboot实现可持续自动部署(非常详细)
目录 一.安装内容 二.实现过程 1.不使用Jenkins 2.使用Jenkins 三.准备工作 1.Github仓库准备测试项目 2.安装java环境(jdk环境) 3.安装maven环境 4.安装 ...
- gitlab 钩子 php,gitlab通过webhook.php自动部署标签
//git webhook 自动部署脚本 $savePath = "/home/house/wxorder/"; $requestBody = file_get_contents( ...
- Jenkins设置GitLab push事件发生时自动构建
下面的步骤建立在已经新建好一个item之后,这里主要讲解如何设置Gitlab 上的project 有push事件时,触发Jenkins构建. 设置工作空间 工作空间就是要指定你的项目在哪台机器以及哪个 ...
- 【DevOps实战|基于Jenkins与Gitlab构建企业级持续集成环境系统】(Jenkins+Gitlab+Keepalived+Haproxy+Sonarqube+Http+灰度自动部署)
目录 一.DevOps简介 二.CI/CD简介 1.代码部
- Jenkins自动部署-GitHub
一.前期准备 1.1 服务器准备 序号 系统 内存 CPU IP地址 备注 1 CentOS 4G 4 192.168.61.68 项目部署 2 CentOS 4G 4 192.168.61.69 J ...
- Jenkins+Github+Nginx实现前端项目自动部署
Jenkins+Github+Nginx实现前端项目自动部署 前言 最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自 ...
最新文章
- 知乎热议:周志华弟子 旷视南京负责人跳槽高校
- atitit.mp4 视频文件多媒体格式结构详解
- 向流程组的所有成员发送信号的最佳方法是什么?
- 如何用python数据挖掘_Python数据挖掘-文本挖掘
- pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载...
- Rails开发细节《一》
- maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...
- 原生 Ajax 封装 和 Axios 二次 封装
- matplotlib可视化学习笔记
- 【数学】一元函数微分(宇哥笔记)
- WoMic虚拟麦克风技术剖析
- 有关sim800l的资料
- 一阶低通滤波器方程_一阶低通滤波器
- 关于本地mysql和小皮mysql两者不可同时存在
- 一个不能吃的中秋月饼
- 26、backtrader的一些基本概念-市价止损单(stop_order)与限价止损单(stop limit order)的创建和撮合逻辑
- 高低温湿热试验箱的简介
- Windows下配置Git连接上github, 并将本地文件夹同步(加入了个人注释)
- K8S日常问题-k8s中大量pod 状态 evicted
- 腾讯搜搜soso升级之路