咨询Jenkins中手动将指定BETA构建版本升级为RELEASE版本的方案
完全可以实现!Jenkins有好几种方式能复刻你旧系统里「选一个成功的BETA构建转成RELEASE」的功能,我给你梳理几个最实用的方案:
方案1:用Pipeline + 参数化构建(最灵活可控)
这种方式适合需要自定义复杂逻辑的场景,步骤如下:
- 创建一个专门的BETA转RELEASE Pipeline项目,添加参数:
- 可选「下拉框参数」:通过Groovy脚本动态拉取所有成功的BETA构建版本号,让用户直接选择;
- 或者「字符串参数」:让用户手动输入要转换的BETA版本号(比如
1.2.1-BETA)。
- 在Pipeline脚本里实现核心逻辑:
- 根据参数定位到对应的BETA构建,获取它的构建产物(artifacts)、版本信息;
- 编写脚本去除版本号里的
-BETA后缀,生成RELEASE版本号(比如把1.2.1-BETA转成1.2.1); - 执行你的升级逻辑:比如给代码打RELEASE标签、把构建产物上传到RELEASE仓库、更新版本记录等;
- 可选:添加验证步骤,确保BETA构建确实成功、产物完整,再执行转换。
示例片段(Groovy):
pipeline { agent any parameters { string(name: 'BETA_VERSION', description: '输入要转换的BETA版本(如1.2.1-BETA)') } stages { stage('验证BETA构建') { steps { script { def releaseVersion = params.BETA_VERSION.replace('-BETA', '') echo "将转换 ${params.BETA_VERSION} 为 ${releaseVersion}" // 这里添加验证BETA构建是否存在且成功的逻辑 } } } stage('执行RELEASE转换') { steps { sh './scripts/beta-to-release.sh ${BETA_VERSION}' } } } }
方案2:用Promoted Builds插件(最贴近旧系统的按钮逻辑)
这个插件专门用来把符合条件的构建升级为更高状态,和你旧系统的「BETA to RELEASE」按钮逻辑几乎一致:
- 给你的BETA构建项目安装并配置
Promoted Builds插件:- 开启项目的「Promotion Status」功能;
- 添加一个名为「Promote to RELEASE」的Promotion规则,设置触发条件为「手动触发」(只有点击按钮才会执行),并限定只有成功的BETA构建才能被Promote;
- 在Promotion的构建步骤里,添加你的升级脚本:修改版本号、同步RELEASE仓库、生成RELEASE版本记录等。
- 配置完成后,每个成功的BETA构建下方都会出现「Promote to RELEASE」按钮,点击即可触发转换流程。
方案3:自由风格项目 + 构建选择器(轻量快速)
如果不想用Pipeline或复杂插件,这个轻量方案也能满足需求:
- 创建一个自由风格项目,添加「构建选择器参数」:让用户可以从下拉列表中选择之前成功的BETA构建;
- 在构建步骤里,调用Shell/PowerShell/Groovy脚本:
- 获取选中的BETA构建的版本号,去除
-BETA后缀; - 从BETA构建的工作区或artifact仓库中获取构建产物;
- 执行你的RELEASE升级逻辑,比如重命名版本、上传到RELEASE仓库等。
- 获取选中的BETA构建的版本号,去除
额外注意事项
- 统一版本号格式:确保所有BETA版本都是
x.y.z-BETA这种固定格式,脚本才能准确提取RELEASE版本号; - 权限控制:给转RELEASE的项目配置角色权限,只让特定团队成员能操作,避免误操作;
- 日志记录:在流程中添加日志,记录操作人、时间、对应的BETA版本,方便后续追溯问题。
内容的提问来源于stack exchange,提问作者JF Meier
相关产品推荐
相关产品推荐

