Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

人生难得几回搏,此时不搏待何时。这篇文章主要讲述Jenkins Pipeline配置根据代码分支及自定义版本号构建打包相关的知识,希望能为你提供帮助。
有好长一段时间没有使用Jenkins了,最近因项目需要,配置了pipeline构建job,做个记录。
环境描述:【Jenkins Pipeline配置根据代码分支及自定义版本号构建打包】Jenkins版本:2.322
代码库:gitlab
本文案例项目:nacos
实现目标:

  1. Jenkins从gitlab拉取代码构建打包,build docker镜像并推送到私有harbor仓库
  2. Jenkins自动获取Gitlab的分支号,选择分支号构建
  3. 构建镜像版本时,支持手动输入镜像版本号。
  4. docker镜像命名规则:
    在构建时如手动输入了版本号,镜像名称为:harbor仓库url/$gitlab项目名称:$版本号.$分支名 如没有输入版本号,版本号为空,镜像名称为:harbor仓库url/$gitlab项目名称:$分支名

    实现步骤 1. 安装Git Parameter插件
    系统管理——插件管理——搜索“Git Parameter”,确认是否已经安装插件,没有安装则先安装插件
    Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

    文章图片

    Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

    文章图片

    2. 创建pipeline类型构建job:nacos1
    Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

    文章图片

    Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

    文章图片

3. 配置分支参数:
在General部分,勾选“参数化构建过程”,选择“Git参数”
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

填写参数信息:
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

4. 配置版本字符参数
在分支参数后,继续添加字符参数
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

填写参数信息:
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

5. 配置流水线
流水线有“Pipeline script from SCM”和“Pipeline script”两种方式,任选其一。两种方法的构建脚本内容一样。
方法一:Pipeline script from SCM
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

方法二:Pipeline script
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片

构建脚本内容:
pipeline options buildDiscarder(logRotator(numToKeepStr: 100, daysToKeepStr: 30, artifactNumToKeepStr: 30))agentany stages stage(拉取代码) steps echo "======= 拉取gitlab源码 =======" checkout([$class: GitSCM, branches: [[name: */$branch]], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: $当前环境credentialsId, url: $代码地址]]])stage(构建代码) #此处省略stage(build& push镜像) steps echo "======= build& push镜像 =======" sh """ #此处省略#判断version参数拼接docker镜像名 if [ "$version" = "" ] then docker build-tharbor.test.com/library/nacos:\\$branch . docker push harbor.test.com/library/nacos:\\$branch else docker build-tharbor.test.com/library/nacos:\\$version.\\$branch . docker push harbor.test.com/library/nacos:\\$version.\\$branch fi """

写好构建脚本保存配置后,点击“Build with Parameters”,即可看到目标已经实现:
Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

文章图片


    推荐阅读