Jenkins配置Git push后自动构建

Posted momoon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins配置Git push后自动构建相关的知识,希望对你有一定的参考价值。

【实战】Jenkins配置Git push后自动构建

# 前言

  Jenkins 持续构建集成是软件版本迭代的一大利器,对于前端攻城狮来说,本身对服务器的接触就少,也并不愿意去做这个事。Jenkins持续构建省去了繁琐的服务器替换包的过程,同时有历史构建记录和每次构建的变更记录,这为我们回退和检查构建情况提供了便利。

  本文假设你已经搭建了一些基础环境,如Git环境,Node环境等。如未处理请自行百度

# Jenkins配置步骤

1. 在Jenkins中进入你要配置自动构建的项目
 
技术图片
要设置自动构建的项目
2. 点击左侧配置选项进行项目发包配置(首先你得有配置的权限)
 
技术图片
工程中点击配置
3. 对项目的各个模块进行信息填写

  这一步是比较关键的,配置文档有几个信息需要填写

  1. 属于描述解释类信息,可以不填。如果需要添加构建条件时也可以在这里勾选某个选项,比如,勾选“参数化构建过程”,就可以在配置构建时用户选择使用的分支。
 
技术图片
General部分
  1. 填写构建仓库信息,你要发布的代码就从这里拷贝过来的
 
技术图片
源码管理模块
  1. 设置git触发构建的动作
 
技术图片
设置触发器
  1. 选用node作为构建环境
 
技术图片
构建环境设置
  1. 构建执行的脚本命令
 
技术图片
构建脚本命令

# 服务器上的脚本

 在上一个步骤中,我们除了配置安装依赖、打包和scp文件到服务器上外,还配置了 ssh root@10.231.111.111 ‘/bin/bash /data/web/shellscript.sh‘。 意思是连接远程服务器,去执行shellscript.sh这个脚本文件。
 通常情况下,该脚本需要设置这么几个内容

  • 备份现有的应用服务包
  • 解压新包并将其挪至nginx指定的服务路径下(最好输出解压包时的日志)
  • 修改新包的宿主和宿组
  • 移除清空服务器上接收远程文件的文件夹(一般为/opt)

这里列举出一个实例

  至此,关于Jenkins的配置已经处理完成了。此时已经能实现手动发版时拉取最新的GitLab上指定分支的代码。
  当然,笔者并不满足于此,还想实现git push后自动发版的配置,真正实现自动持续构建集成


# GitLab配置步骤

1. 进入配置自动构建的项目
 
技术图片
选中要配置的项目
2. 点击 setting --> Integrations 设置Webhooks
 
技术图片
设置webhooks
3. 增加一个webhook

(1)Jenkins的回调地址,在Jenkins配置中的3.3步骤中笔者已标明
(2)secret token 也需要去Jenkins配置中生成。还是在如上3.3配置截图中,右下角有一个高级按钮,点开展示如下:

 
技术图片
生成secret token

OK,我们来添加一个webhook并进行测试

 
技术图片
添加webhook

  点击测试可达性,如果页面提示如下,说明webhook添加成功

 
技术图片
测试结果

好了,去你的项目中试试git push 操作吧

以上是关于Jenkins配置Git push后自动构建的主要内容,如果未能解决你的问题,请参考以下文章

gitlab jenkins配置WebHook控制代码提交自动构建

jenkins 配置gitlab提交代码自动构建

Jenkins+git 实现代码自动发布

Jenkins和gitlab集成自动构建

Jenkins + gitlab 集成 实现自动构建

持续集成Jenkins Jenkins+git+maven项目构建自动化部署