news 2026/7/12 14:27:26

配置Jenkins使用tag发布

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
配置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的代码(最新)发布

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 2:15:01

YOLOv11锚框设计调整:适应不同尺度目标检测

YOLOv11锚框设计调整:适应不同尺度目标检测 在智能交通系统中,一辆自动驾驶汽车需要同时识别远处的行人、近处的车辆以及空中悬停的无人机。这些目标尺寸差异巨大——从几十像素的小人影到占据画面三分之一的大卡车——对检测模型的多尺度感知能力提出了…

作者头像 李华
网站建设 2026/7/1 18:30:10

使用GitHub Pages搭建个人技术博客:分享PyTorch心得

使用GitHub Pages搭建个人技术博客:分享PyTorch心得 在深度学习领域,一个常见的困境是:你刚刚在网上找到一篇令人兴奋的教程,满心欢喜地准备复现结果,却卡在了环境配置的第一步——CUDA版本不匹配、PyTorch安装失败、…

作者头像 李华
网站建设 2026/7/2 1:02:58

Markdown+Jupyter:打造高质量技术博客输出体系

Markdown Jupyter:构建现代技术写作的高效闭环 在深度学习与数据科学日益普及的今天,一个模型能否被广泛理解、采纳甚至复现,早已不再仅仅取决于它的准确率高低。真正决定影响力的是——你如何讲清楚这个故事。从实验设计到结果分析&#xf…

作者头像 李华
网站建设 2026/7/5 12:41:31

Docker Volume持久化存储:保存PyTorch训练检查点

Docker Volume持久化存储:保存PyTorch训练检查点 在深度学习项目中,一次完整的模型训练往往需要数小时甚至数天。尤其是在使用大规模数据集或复杂网络结构时,任何意外中断都可能导致前功尽弃——GPU资源被白白消耗,实验进度归零。…

作者头像 李华
网站建设 2026/7/6 12:00:29

CUDA核心概念解析:理解PyTorch背后的GPU加速原理

CUDA核心概念解析:理解PyTorch背后的GPU加速原理 在深度学习模型日益庞大的今天,一次训练动辄需要处理数十亿参数和海量数据。面对如此繁重的计算任务,CPU那串行执行的架构显得捉襟见肘——你可能有过这样的体验:在一个中等规模的…

作者头像 李华
网站建设 2026/7/7 2:02:24

GitHub Issue模板设置:规范化反馈PyTorch项目问题

GitHub Issue模板设置:规范化反馈PyTorch项目问题 在深度学习项目的协作开发中,你是否曾遇到过这样的场景?一个用户提交了“模型跑不起来”的Issue,维护者反复追问:“用的什么版本?”“有报错信息吗&#x…

作者头像 李华