例如,即使分支不是主节点,这也总是提示
stage('only on master') {
when {
branch 'master'
}
input { ... }
}
#1 楼
我看到两种方法:将当前分支名称保存在变量中,并在if语句中进行检查
CURRENT_BRANCH = '...' // some value or parameter
stage('only on master') {
if (CURRENT_BRANCH == 'master') {
input {
...
}
}
// be sure to check if input was set or define a default value
或
运行一个shell脚本来知道当前文件夹是否是master上的git repo
以下命令检查当前文件夹是否是一个显示“ true”的git仓库(如果没有则返回错误repo)
git rev-parse --is-inside-work-tree
接下来,打印当前的分支名称
git branch | grep \* | cut -d ' ' -f2
两者均用于创建脚本设置环境变量。
检查管道上的值,以显示输入
stage('only on master') {
// Set true on IS_ON_MASTER if current branch is master,
// otherwise set false
sh ./check-branch-master.sh
if (env.IS_ON_MASTER) {
input {
...
}
}
评论
不要忘记添加右括号“}”,这在第一个和最后一个代码片段中都没有。
–克里斯
19-4-10在14:05
评论
使用docs jenkins.io/doc/book/pipeline/syntax中指定的beforeInput