配置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的代码(最新)发布

相关推荐
heimeiyingwang1 天前
【GitOps·入门篇】工具生态:ArgoCD、Flux、Jenkins X 对比选型
jenkins·flux·argocd·gitops
骇客野人1 天前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins
中才实用2 天前
Jenkins自动化部署
运维·自动化·jenkins
童槿顏丶5 天前
Jenkins部署(Docker)
java·docker·jenkins
Elastic 中国社区官方博客9 天前
使用 Elasticsearch open inference API 对 OpenAI chat completions 进行支持
大数据·elasticsearch·搜索引擎·全文检索·jenkins
X1A0RAN10 天前
Jenkins Pipeline 变量打印指南
运维·servlet·jenkins
heimeiyingwang10 天前
【CI/CD·Jenkins篇】多节点构建:Agent 配置与任务分发策略
ci/cd·jenkins
heimeiyingwang11 天前
【CI/CD·Jenkins篇】环境搭建:从零部署 Jenkins 主从架构
ci/cd·jenkins
heimeiyingwang11 天前
【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解
ci/cd·pipeline·jenkins
遨游DATA12 天前
Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效
ci/cd·jenkins·devops·故障排查·config.xml