Jenkins + gitlab 自动部署

这篇具有很好参考价值的文章主要介绍了Jenkins + gitlab 自动部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 背景

作为后台开发,每次我们开发完或者修改一个bug后都要手动合并,打包或者连接服务器执行打包部署命令,每次手动操作,极大的影响了我们的开发效率,那么有没有一款工具能让我们只需要推送/合并代码到远端就能实现服务自动打包,发布,部署,通知呢。因此,今天介绍的jenkins和gitlab就来了。

2. jenkins介绍

这里简介和安装就省略了,各位可以自行百度/谷歌学习下,它在我们的自动部署方案里做的重要角色就是打包,发布,部署,通知

3. gitlab介绍

做为“程序猿”的我们,相信这款工具也不会陌生,代码管理开源项目

4. 自动部署流程

4.1 流程图

4.2 各部分详解

  1. 开发推送/合并代码到我们的部署分支
  2. 代码推送到部署分支后,触发我们的推送事件,然后调用jenkins的部署任务
  3. jenkins收到部署通知后,调用企业微信的webhook发送消息,“XX项目开始部署”
  4. jenkins通过git插件拉取gitlab对应分支的代码
  5. maven打包
  6. 第五步maven打包完成后,如果是部署在宿主机服务器,则通过ssh推送jar包到对应的服务器上,并执行重启命令
  7. 最后发送企业微信通知部署完成,耗时多少。

4.3 实际操作

  1. 好了,各部分的已经大致介绍完成了,下面我们通过一个小的demo来完成我们的实际操作

  2. 推送代码到远程分支这块我们就不用说了

  3. gitlab的推送事件介绍Jenkins + gitlab 自动部署,jenkins,gitlab,运维

    1. 我们选择对应项目的webhooks配置
    2. 触发事件,可以看到有多种事件,这里我们选择的是推送事件,并且我们配置的是develop分支的推送事件
    3. jenkins任务令牌
    4. jenkins的任务地址,这个和jenkins的任务令牌后续介绍

4.4 jenkins对应job部署

  1. 新建任务Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  2. 填入任务名称,这里我们选择一个自由风格的任务Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  3. 配置我们项目的gitlab地址Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  4. 配置远程触发地址

    1. 选择构建触发器,并把该url填入我们的gitlab的webhooks事件的url中Jenkins + gitlab 自动部署,jenkins,gitlab,运维

    2. 点击高级,生成授权码, 并把授权码填入gitlab的webhooks令牌中Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  5. 配置maven构建打包Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  6. 配置ssh发包Jenkins + gitlab 自动部署,jenkins,gitlab,运维

  7. 配置企业微信通知Jenkins + gitlab 自动部署,jenkins,gitlab,运维

4.5 推送示例展示

可以看到,我们单个应用自动部署800+次了,开发只需要推送代码到远端,就会自动开始自动部署。Jenkins + gitlab 自动部署,jenkins,gitlab,运维

企业微信机器人通知,当然,如果不需要插件模板也可以通过其他可以发送http请求的来自定义发送通知内容。

5. 总结

今天我们介绍了整个jenkins+gitlab的自动部署流程,用了最简单的例子来说明,如果要部署多个服务器,我们也可以在构建的时候添加多个服务器,这里是串行部署的,如果需要并行部署的话我们也可以通过pipeline的parallel ssh_publishers命令执行并行部署;如果你用的是docker或者k8s部署项目的话,我们也可以把发包的步骤换成打包后构建镜像然后推送到harbor中,通过执行远程shell脚本部署docker,执行kuboard的ci/cd api来切换线上标签。文章来源地址https://www.toymoban.com/news/detail-517038.html

6. 附

  1. 各个jenkins步骤所用到的插件
    1. git及jdk配置, manage jenkins -> global tool configuration Jenkins + gitlab 自动部署,jenkins,gitlab,运维
    2. Maven 配置
      1. 新建maven,填入服务器上maven地址或者安装maven Jenkins + gitlab 自动部署,jenkins,gitlab,运维
    3. 其他插件
      1. manage jenkins -> Manager Plugin
        1. 企业微信通知插件 Qy Wechat Notification
        2. ssh推送插件 Publish Over SSH​​​​​​​

到了这里,关于Jenkins + gitlab 自动部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Jenkins+Gitlab自动化部署配置】

    以下为整理当初参照的博客 阿里云云服务器 ECS 手动搭建GitLab避坑教程 博客文中的镜像源地址已换 Gitlab忘记root用户密码的解决办法 Gitlab学习笔记(一):基于Ubuntu的gitlab的私有服务搭建(超详细) Jenkins 构建报错:Couldn‘t find any revision to build. Verify the repository and branch conf

    2024年02月21日
    浏览(38)
  • Gitlab+Jenkins自动化部署,解放双手

    ​ 在部署项目前需要对源码进行打包,一个简单的SpringBoot项目默认是打包为jar包,也就是在pom.xml中的 packagingjar/packaging 方式,当然也会有一些打包成war包方式,使用外置的Tomcat应用服务器部署war包,那么就是 packagingwar/packaging 。 在父子类聚合项目中,父工程的 pom.xml 文件中

    2024年02月07日
    浏览(41)
  • Jenkins + Gitlab 实现项目自动化构建及部署

      通俗来讲就是本地项目 push 到 gitlab 后, Jenkins 能够识别到项目的更新并自动构建部署;  本文以实际操作的方式来表述详细配置过程及避开配置 Jenkins 时的坑. 默认电脑已经安装了虚拟机, 默认gitlab 上已经有了你想要部署的项目, 部署了 maven 和 jdk 并配置了环境变量!!! 1 执行

    2024年02月16日
    浏览(36)
  • Gitlab + Docker + Jenkins + Harbor实现自动化部署

    目录 文章目录 前言 一、第一台服务器--Jenkins 1、安装前 2、安装Jenkins 3、修改正在跑容器的端口 4、Jenkins内部插件和配置  二、第二台服务器--Harbor 1、安装docker-compose 2.安装及配置 3、卸载Harbor  4、Harbor启动后操作 三、第三台服务器--生产环境  1、配置私服地址 四、Jenkin

    2024年02月14日
    浏览(41)
  • DevOps极速入门丨Gitlab丨Jenkins丨harbor丨CICD丨自动化丨运维开发

    一、DevOps介绍 软件开发最开始是由两个团队组成: 开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。 运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。 这看似两个目标不同的团队需要协同完成一个软件的开发。 在开发

    2023年04月18日
    浏览(50)
  • Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

    1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage JenkinstoolsJDK 安装 安装插件 Deploy to container 安装此插件,才能将打好的包部署到tomcat上     配置国内mvn源 创建maven项目 1  2   3    4    5    6    7    8     9 10  

    2024年02月05日
    浏览(42)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月05日
    浏览(57)
  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署(无本地证书,映射证书)

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月15日
    浏览(40)
  • 2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程

    如果没有Linux基础请仔细看好每一个步骤,避免出错,从0到1带你搭建自动化部署环境,包括服务器安装,自动化部署所需各类软件安装配置,详细贴出每一步,不断步骤,让你一次搭建部署完成,希望这篇文章能给大家带来一定的帮助,话不多说开始整 2.0 CentOs安装 2.0.1 下载VM虚拟机 我直

    2024年02月08日
    浏览(47)
  • Jenkins自动化部署-GitLab拉取代码 配置ssh代码拉去方式的密钥(公私钥)

    Jenkins想要通过ssh方式拉去gitlab代码,则需要在在Jenkins服务器配置私钥,gitlab服务器配置公钥 使用root用户生成公钥和私钥 在/root/.ssh/目录保存了公钥和使用 id_rsa:私钥文件 id_rsa.pub:公钥文件 把生成的公钥放在Gitlab中 以root账户登录-点击头像-Settings-SSH Keys 复制刚才id_rsa.pu

    2024年04月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包