jenkins - 如何根据作业名称在 Jenkins 管道中返回参数?
问题描述
我有两个 Jenkins 管道 (a)deploy
和 (b) test_deploy
。我想从一个 Jenkinsfile运行这两个管道,因为它们的功能是相同的。
deploy
管道在所有非测试环境中运行test_deploy
管道将仅在test
环境中运行
我只想将测试环境显示为test_deploy
管道中的参数。我想在选择参数上添加类似 if/else 的条件,这些条件将根据作业名称在参数中返回环境名称。如何根据作业名称调整选择/参数?
解决方案
您可以在 Jenkinsfile 的顶部添加它:
if (JOB_NAME == 'deploy') {
properties([
parameters([
choice(name: 'deployEnv', choices: ['deployEnv1', 'deployEnv2'], description: '')
])
])
} else if (JOB_NAME == 'test_deploy') {
properties([
parameters([
choice(name: 'testEnv', choices: ['testEnv1', 'testEnv2'], description: '')
])
])
}
这适用于声明式和脚本化管道,并根据作业名称填充选择参数。
推荐阅读
- r - 如何从 C 获取 FILE * 到 R 控制台
- r - 如何使用 ggplot2 绘制一张美国地图,该地图使用定义的颜色根据 df 中分配的人员填充特定状态?
- zend-framework - Mezzio => 服务未注册
- ios - 如何在 IOS ARM64 中使用 LLVM-objcopy 重命名符号
- ruby-on-rails - ArgumentError(错误数量的参数(给定 2,预期 1))
- javascript - 无效的 VNode 类型:使用 V-For 的符号(片段)
- javascript - 使用 path2d 在 konva.js 中创建自定义形状?
- zingchart - Zingchart 数据数组
- excel - 需要四个标准索引匹配 - 三个半成品,我添加了第四个标准并且它打破了
- intellij-idea - JavaFX 媒体播放器导入