我正在尝试创建一个管道,其中有多个触发器 - cron、拉取请求打开和手动。因此,我想相应地可视化它。
这是我没有应用触发器的代码。
pipeline {
agent any
environment {
CI = 'true'
TRIGGER = 'PULL_REQUEST'
}
stages {
stage('Trigger')
{
parallel{
stage('Daily') {
when {
environment name: 'TRIGGER', value: 'DAILY'
}
steps {
sh 'echo "daily build"'
}
}
stage('Pull Request') {
when {
environment name: 'TRIGGER', value: 'PULL_REQUEST'
}
steps {
sh 'echo "pull request trigger"'
}
}
stage('Manual') {
when {
environment name: 'TRIGGER', value: 'MANUAL'
}
steps {
sh 'echo "Manual"'
}
}
}
}
stage('Build') {
steps {
sh 'echo "build step"'
}
}
stage('Test') {
steps {
sh 'echo "test step"'
}
}
stage('Deliver for development') {
when {
environment name: 'CI', value: 'true'
}
steps {
sh 'echo "delivery for development"'
input message: 'Finished using the web site? (Click "Proceed" to continue)'
sh 'echo proceeded'
}
}
stage('Deploy for production') {
when {
environment name: 'CI', value: 'false'
}
steps {
sh 'echo "deploy for production"'
input message: 'Finished using the web site? (Click "Proceed" to continue)'
sh 'echo proceeded'
}
}
}
}
现在,我的目标是将触发器置于这些并行阶段——每日、拉取请求和手动。但是,我无法这样做,trigger
对于完整的管道也是如此,并且可能预计只会在管道中出现一次。我怎样才能达到这个效果?
这 3 个并行触发器将设置一些环境变量,这些环境变量将在进一步的阶段中使用,以相应地修改管道流,具体取决于触发器的类型。