配置Jenkins使用tag发布

背景

Jenkins 2.528.3 LTS 安装Git Parameter Plugin,启用"参数化构建"功能,自由风格使用tag发版做准备。

文档

官方安装文档

环境

  • 操作系统 Ubuntu24.04
  • 主服务器配置 VM 16C/64G/800G
  • Jenkins版本 2.528.3 LTS
  • Java版本 JDK21

目标

  • 生产环境适应 tag 发布
  • 测试环境适应 branch 或 tag 发布

安装插件

  1. Jenkins-->ManageJenkins-->Plugins-->Available plugins 下搜索"Git Parameter",点击进行安装
  2. 安装成功后 Jenkins-->ManageJenkins-->Plugins-->Installed plugins下可见

配置tag发布示例(生产环境)

  1. 示例仓库:http://192.168.5.99:8929/shijin/ops_project。
  2. 上线方式:正则匹配"sj"开头的tag(模拟生产环境tag号),选择对应的版本上线。
  3. 上线操作:点击Build with Parameters,选择tag号上线

说明:

  1. 严格规范生产环境tag的命名规则
  • tag与commit对应,与branch无关。
  • git 查看tag,会显示所有tag,包括所有branch的tag
  • jenkins使用正则匹配模式,只显示特定规则的tag(符合生产环境tag定义,本例中显示sj开头的tag)
  • 严格规范生产环境tag的命名规范,例如: prod202512220945。禁止非生产环境代码使用生产环境tag定义(研发规范约束)

用途:

  1. 测试通过的代码,打生产环境tag,发版根据tag号上线
  2. 生产环境发现严重bug,选择上一个稳定版tag号紧急回滚
  3. 修复线上一般bug,可pull某一个稳定版tag对应代码,生成临时分支,修复后merge上线(不影响正在开发的新代码)

配置

  1. jenkins添加 Git Parameter Plug-In插件 (已安装)

  2. 配置"参数化构建过程"

    • 定义参数:RELEASE_TAG 名称可自定义
    • 参数类型:标签(tag)
    • 默认值: origin/master(默认可以选择master分支)
    • 高级选项:
      • 标签过滤:设置正则匹配字符串(示例 sj开头的tag)
      • 排序方式:DESCENDING_SMART
      • 快速过滤:选中开启
  3. 配置"源码管理 "

    • 定义Branches to build:${RELEASE_TAG}, RELEASE_TAG变量名称需要与"参数化构建过程"中定义一致。

发布

  1. Build with Parameters 中选择 tag为 202411281119的commit发布

  2. 输出结果中,显示git checkout tag是sj202512251122对应commit为9977b8afe18141215d081936480a3680dcdb83ce 的代码

配置tag或branch发布示例(测试环境)

  1. 示例仓库:http://192.168.5.99:8929/shijin/ops_project。
  2. 上线方式:根据需要选择某个branch最新代码,或者某个tag对应代码上线。
  3. 上线操作:点击Build with Parameters,选择branch名称或tag号上线

说明:

  1. 为适应多种版本测试,根据需要选择branch或tag上线
  • tag与commit对应,与branch无关。
  • branch使用当前分支最新代码

用途:

  1. 可选择某个branch最新代码上线,包括:测试分支,开发分支或某个紧急修复bug分支
  2. 可选择某个tag对应代码上线,tag由研发定义,测试某个tag版本代码(注意,非生产环境上线版本打tag,禁止使用生产环境专用tag命名规范)

配置

  1. jenkins添加 Git Parameter Plug-In插件 (已安装)

  2. 配置"参数化构建过程"

    • 定义参数:RELEASE_BRANCH_TAG 名称可自定义,需要与 Branches to build中保持一致
    • 参数类型:分支或标签
    • 默认值: origin/master(默认可以选择master分支)
    • 高级选项:
      • 分支过滤: .* ,不限制分支,显示仓库所有分支
      • 标签过滤:* ,不限制标签,显示仓库所有标签
      • 排序方式:DESCENDING_SMART
      • 快速过滤:选中开启
  3. 配置"源码管理 "

    • 定义Branches to build:${RELEASE_BRANCH_TAG}, RELEASE_TAG变量名称需要与"参数化构建过程"中定义一致。

发布

  1. Build with Parameters 中选择 tag为 202411281119的commit发布
  • 202411281119 是非生产环境上线tag
  1. 输出结果中,显示git checkout tag是202411281119对应commit为99c8f025b968e94940c5d547979f4389490d2f33的代码发布

  2. 使用研发origin/shijin branch最新代码发版

  3. 输出结果中,显示git checkout origin/shijin branch 对应commit为3e49aaa3aa1f91d8455d6450a216d36d49d96f61的代码(最新)发布

相关推荐
就叫飞六吧4 小时前
Jenkins 流水线全流程实战笔记
笔记·servlet·jenkins
a努力。5 小时前
中国电网Java面试被问:RPC序列化的协议升级和向后兼容
java·开发语言·elasticsearch·面试·职场和发展·rpc·jenkins
cly11 天前
Jenkins重置管理员密码
运维·servlet·jenkins
tianyuanwo2 天前
Jenkins Job管理实战指南:增删改查与批量操作技巧
运维·jenkins
Dxy12393102162 天前
Elasticsearch 8.13.4 地理范围查询实战指南
大数据·elasticsearch·jenkins
未定义.2212 天前
第7篇:跨端拓展!Playwright+Appium实现Web+移动端全覆盖
python·ui·appium·自动化·jenkins·pytest
Apex Predator2 天前
jenkins备份与恢复
运维·jenkins
屿小夏.3 天前
【Elasticsearch】Elasticsearch的分片和副本机制
大数据·elasticsearch·jenkins
柯南小海盗3 天前
Elasticsearch同义词配置全攻略
大数据·elasticsearch·jenkins
未定义.2213 天前
第5篇:进阶优化:数据驱动+日志体系+失败重试实战
python·ui·自动化·jenkins·集成测试·pytest