dav*_*rez 2 jenkins jenkins-pipeline
我正在尝试新的声明性管道语法.
我想知道,当例如参数具有无效值时,我如何中止管道的所有阶段和步骤.
我可以when在每个阶段添加一个子句,但这对我来说不是最佳选择.有没有更好的方法呢?
例如,如果给定的参数值不可接受,您可以进行前期检查并中止构建 - 防止后续阶段运行:
pipeline {
agent any
parameters {
string(name: 'targetEnv',
defaultValue: 'dev',
description: 'Must be "dev", "qa", or "staging"')
}
stages {
stage('Validate parameters') {
when {
expression {
// Only run this stage if the targetEnv is invalid
!['dev', 'qa', 'staging'].contains(params.targetEnv)
}
}
steps {
// Abort the build, skipping subsequent stages
error("Invalid target environment: ${params.targetEnv}")
}
}
stage('Checkout') {
steps {
echo 'Checking out source code...'
}
}
stage('Build') {
steps {
echo 'Building...'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3426 次 |
| 最近记录: |