Jenkins:triggeredBy 'UpstreamCause' 在 When 条件下总是计算为 false
Jenkins: triggeredBy 'UpstreamCause' always evaluates to false in When condition
在 Jenkins 中我有一个上游项目 A 触发了一个下游项目 B.
项目 A:
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo "Some message"
build(job: 'B', wait: false)
}
}
}
}
项目 B
pipeline {
agent none
tools {
maven "maven"
}
stages {
stage('Triggered By Upstream') {
when {
triggeredBy "UpstreamCause"
}
steps {
echo "Triggered by Upstream project"
}
}
}
}
此处项目A成功触发项目B。但是项目 B 中的阶段将被跳过,因为 when 中的条件为 False。对我来说这似乎是一个错误。有谁知道这段代码有什么问题吗?
显然没有 UpstreamCause 的原因,而是 BuildUpstreamCause,其计算结果为 true 当从上游项目触发管道时。所以项目B中的when子句应该写成:
when {
triggeredBy "BuildUpstreamCause"
}
为了让阶段在上游项目触发时 运行。
在 Jenkins 中我有一个上游项目 A 触发了一个下游项目 B.
项目 A:
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo "Some message"
build(job: 'B', wait: false)
}
}
}
}
项目 B
pipeline {
agent none
tools {
maven "maven"
}
stages {
stage('Triggered By Upstream') {
when {
triggeredBy "UpstreamCause"
}
steps {
echo "Triggered by Upstream project"
}
}
}
}
此处项目A成功触发项目B。但是项目 B 中的阶段将被跳过,因为 when 中的条件为 False。对我来说这似乎是一个错误。有谁知道这段代码有什么问题吗?
显然没有 UpstreamCause 的原因,而是 BuildUpstreamCause,其计算结果为 true 当从上游项目触发管道时。所以项目B中的when子句应该写成:
when {
triggeredBy "BuildUpstreamCause"
}
为了让阶段在上游项目触发时 运行。