之前讲过如何实现jenkins代码部署,但每次提交/合并后都需要点击部署按钮,手动部署较为不便,所以就多加了个钩子,自动触发,但要注意的是,代码最好写完整再一次性push。

  • 超详细教你用Jenkins实现自动化jar包部署

1.jenkins钩子回调

jenkins钩子作用,就是在当代码提交后,调用jenkins回调方法,让jenkins去构建部署。

1.安装Jenkins插件

本文演示在gitlab提交后的回调,github等其他可以下载相对应插件和配置对应的触发器即可。
插件管理搜索 gitlab plugin,进行安装。

token在gitlab页面生成获取。

2.构建触发器

然后选择你想自动部署的项目,进入触发器,就会发现多一个gitlab回调的地址,选择运行回调的事件,如push events等。将 webhook URL后的链接保存下来,后面使用

  1. 配置完以上,提交代码还是无法触发自动部署的,原因是gitlab是publisher而jenkins是observer,当gitlab接收到代码提交后要发出 【部署event】给jenkins才可以接受到。

  2. 点击构造器右下角的高级按钮

  3. 生成token,不同项目token和回调地址不一样。

2.gitlab回调

进入到你想自动部署的项目,选择设置-集成

保存,然后就可以测试触发不同事件时jenkins的部署。

总结

最初配置时候,以为只需要在jenkins配置gitlab token和项目地址就可以自动监控项目的变动情况,实现部署,后面发现jenkins只能被回调后去构建,而不能主动去监控。本质也是观察者模式,gitlab触发器发起事件给jenkins的触发器进行项目部署。当然内部还有很多功能,如不同分支的代码提交是否触发构建等,根据实际需要配置即可。

Jenkins钩子实现代码提交/合并时自动部署相关推荐

  1. Jenkins+Svn搭建持续集成环境和自动部署

    Jenkins+Svn搭建持续集成环境和自动部署 一.环境说明 centos 6.8     ip:192.168.1.26 二.运行环境配置 1.安装java环境,下载jdk并放在/usr/loca ...

  2. 再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三

    Gitlab runner 快速搭建CICD pipeline 背景 日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署 ...

  3. 持续集成工具集之四 Jenkins+Maven+Git+Tomcat 项目构建和自动部署

    上面安装和配置好Jenkins之后,就可以开始配置构建项目了 新建 因为需要构建的项目是maven项目,所以这里填好项目的名称之后选择"构建一个maven项目",然后点左下的ok ...

  4. 谷粒学院(二十四)Jenkins+Maven+Github+Springboot实现可持续自动部署(非常详细)

    目录 一.安装内容 二.实现过程 1.不使用Jenkins 2.使用Jenkins 三.准备工作 1.Github仓库准备测试项目 2.安装java环境(jdk环境) 3.安装maven环境 4.安装 ...

  5. gitlab 钩子 php,gitlab通过webhook.php自动部署标签

    //git webhook 自动部署脚本 $savePath = "/home/house/wxorder/"; $requestBody = file_get_contents( ...

  6. Jenkins设置GitLab push事件发生时自动构建

    下面的步骤建立在已经新建好一个item之后,这里主要讲解如何设置Gitlab 上的project 有push事件时,触发Jenkins构建. 设置工作空间 工作空间就是要指定你的项目在哪台机器以及哪个 ...

  7. 【DevOps实战|基于Jenkins与Gitlab构建企业级持续集成环境系统】(Jenkins+Gitlab+Keepalived+Haproxy+Sonarqube+Http+灰度自动部署)

    目录 一.DevOps简介 二.CI/CD简介 1.代码部

  8. Jenkins自动部署-GitHub

    一.前期准备 1.1 服务器准备 序号 系统 内存 CPU IP地址 备注 1 CentOS 4G 4 192.168.61.68 项目部署 2 CentOS 4G 4 192.168.61.69 J ...

  9. Jenkins+Github+Nginx实现前端项目自动部署

    Jenkins+Github+Nginx实现前端项目自动部署 前言 最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自 ...

最新文章

  1. 知乎热议:周志华弟子 旷视南京负责人跳槽高校
  2. atitit.mp4 视频文件多媒体格式结构详解
  3. 向流程组的所有成员发送信号的最佳方法是什么?
  4. 如何用python数据挖掘_Python数据挖掘-文本挖掘
  5. pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载...
  6. Rails开发细节《一》
  7. maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...
  8. 原生 Ajax 封装 和 Axios 二次 封装
  9. matplotlib可视化学习笔记
  10. 【数学】一元函数微分(宇哥笔记)
  11. WoMic虚拟麦克风技术剖析
  12. 有关sim800l的资料
  13. 一阶低通滤波器方程_一阶低通滤波器
  14. 关于本地mysql和小皮mysql两者不可同时存在
  15. 一个不能吃的中秋月饼
  16. 26、backtrader的一些基本概念-市价止损单(stop_order)与限价止损单(stop limit order)的创建和撮合逻辑
  17. 高低温湿热试验箱的简介
  18. Windows下配置Git连接上github, 并将本地文件夹同步(加入了个人注释)
  19. K8S日常问题-k8s中大量pod 状态 evicted
  20. 腾讯搜搜soso升级之路

热门文章

  1. C++的sort函数如何实现从大到小排序
  2. 用 KNN 对 IBM员工进行离职预测
  3. 盛世昊通董车长2.0,3.5成优惠购车火热进行中
  4. 穷人和富人的十三大经典差异
  5. 小波的几个术语及常见的小波基介绍
  6. 预测赢家_新敏捷—赢家
  7. 什么是泛解析以及怎么做泛解析
  8. (转)席德梅尔的海盗如何洗劫城市
  9. python爬虫中pyc文件的生成和使用
  10. C++动态内存分配与命名空间