jenkins - 如何避免重复适用于 Jenkinsfile 管道中多个步骤的条件?
问题描述
目前我有一个 Jenkinsfile,如下所示:
stage('A'){
agent{docker{image A}}
when{branch = 'master'}
step{do blah}
}
stage('B'){
when{branch = 'master'}
agent{docker{image B}}
step{do blah}
}
担心的是这种情况在整个地方都是重复的,我想提取它 - 但如果有的话,无法识别正确的语法。
解决方案
您可以首先使用 env 变量(设置条件): https://jenkins.io/doc/book/pipeline/jenkinsfile/#setting-environment-variables-dynamically。
然后你可以使用环境when
:
https ://jenkins.io/doc/book/pipeline/syntax/#built-in-conditions
当指定环境变量设置为给定值时执行该阶段,例如:
when { environment name: 'DEPLOY_TO', value: 'production' }
推荐阅读
- angular - Angular - Ng-Bootstrap 模态编辑未加载任何数据
- selenium-webdriver - 如何让量角器在不重新加载浏览器的情况下重新加载 DOM
- python - Python 在没有 Pandas 的情况下每隔 n 行输出一次
- .net - 带有 dotnet sdk2 和 sdk 3.1 的 Docker 映像
- javascript - 数据表上未显示的按钮
- c# - 转换图像的背景是灰色的,我需要它是透明的(ASP.Net)
- javascript - 如何更正这个错误的 Jquery 代码?
- node.js - 如何在数据库中使用 i18n
- python - 如何从 Python 的响应中只取 1 个值?
- python - 运行简单的 Python 计算器时出现逻辑错误