Jenkins 自动化部署

背景:由于项目所涉及的环境比较多,因此采用Jenkins进行自动化部署,系统的部署方式是在各个服务器上有源码,在服务器上有拉取gitlab代码并且打包启动的脚本命令,用Jenkins自动化部署主要针对于测试和UAT环境

操作原理:当gitlab发生了merge事件后,触发Jenkins自动构建,并且远程调用服务器上的脚本命令,实现自动化部署

配置步骤如下:

前提条件:Jenkins所在的服务器上安装git、Jenkins、maven软件,安装完毕后进入Jenkins进行配置

第一步:

为Jenkins安装插件,主要的插件有Publish Over SSHSSH pluginGeneric Webhook Trigger Plugin(此插件的功能是当分支merge的时候触发自动构建,但是我在配置的时候发现不用此功能,用另外一种配置也可以达到相同的效果)、Gitlab Hook PluginGitLab Plugin

第二步:

配置SSH的远程服务器

在系统管理->系统配置中找到SSH remote hosts进行配置

第三步:

配置Gitlab

在系统配置,在系统管理->系统配置中找到Gitlab进行配置

 在选择Credentials的时候需要额外的操作,在添加凭证的时候选择API Token的方式进行

 该配置可参考该地址:jenkins配置凭证 - 简书,或者百度关键字 jenkins配置gitlab API Token

配置完后可以点击Test进行连接测试,返回success代表成功

第四步:

新建任务:

 选择Build when a change is pushed to GitLab

选择Target Branch Regex 代表哪一个分支发生了merge事件后 触发构建功能

注意:

Secret token在gitlab的配置中会涉及到

GitLab webhook 的地址也需要,在配置gitlab中会涉及到 

自动执行脚本的时候遇到环境变量未生效,其实自动化部署类似于SSH的远程执行命令,最好加上

source /etc/profile 这样声明环境变量

配置完成

第五步:

GitLab的配置 

 此处只是勾选了merge事件,当发生merge的时候触发

 配置完后进行测试

当配置的时候会发生

提示webhook无法保存:Url is blocked: Requests to the local network are not allowed

请参考该博主的配置 向 GitLab 提交代码之后自动触发 Jenkins 构建_wenhui 的博客-CSDN博客

向 GitLab 提交代码之后自动触发 Jenkins 构建_wenhui 的博客-CSDN博客

配置完成后,当发生merge的时候就可以自动化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值