Представьте, что у вас есть доступ к разным тестовым средам в разное время. Было бы полезно, если бы у вас был один и тот же триггер конвейера в разное время с разными параметрами. Ниже приведен синтаксис, демонстрирующий эффект:
pipeline {
agent any
parameters {
string(name: 'TEST_ENV', defaultValue: 'staging', description: '')
}
triggers {
cron('0 1 * * 1-5', 'TEST_ENV': 'live')
cron('0 10 * * 1-5', 'TEST_ENV': 'staging')
cron('0 18 * * 1-5', 'TEST_ENV': 'dev')
}
stages {
stage('Test') {
steps {
sh './test --env $TEST_ENV'
}
}
}
}
Единственный известный мне способ выполнить sh вышеизложенное - это использовать Job DSL для создания нескольких заданий с разными триггерами и параметрами. Это работает, но противоречит модели Multibranch Pipelines и Jenkinsfiles. Поэтому мне интересно, есть ли способ лучше или билет JIRA с планом реализации лучшего способа.