如果环境变量包含特定子字符串,则执行阶段

我有一个 jenkins 声明性管道,我有兴趣仅当特定环境变量包含特定子字符串(不完全等于它,只包含它)时才能够执行一个阶段。 有没有人知道我如何实现它(如果可能的话,可能使用 when 条件)。

提前致谢, 阿隆

zhh00 回答:如果环境变量包含特定子字符串,则执行阶段

正如您所提到的,在声明式管道中,您可以使用 when directive 来建立执行阶段的条件。
triggeredBybranchtag 等内置条件选项中,有通用 expression 选项,它允许您运行任何常规代码并根据需要计算相关的布尔值。
因此,例如,对于您的情况,您可以使用常规的 contains 方法来实现您想要的,例如:

pipeline {
    agent any
    stages {
        stage('Conditional Stage') {
            when {
                expression { return env.MyParamter.contains('MySubstring') }
            }
            steps {
                echo "Running the conditional stage"
            }
        }
    }
}
本文链接:https://www.f2er.com/1600.html

大家都在问