我这里有一个管道,该管道针对具有特定环境变量并在特定时间触发的应用运行测试。
我想做的是使用相同的管道在不同的时间定期执行,但是每个构建都具有不同的环境变量。
这是我的jenkinsfile的示例,可以在特定时间仅在一组可用的环境下运行
pipeline {
environment {
mvnHome = tool name: 'myMvn', type: 'maven'
mvnCMD = "${mvnHome}/bin/mvn"
APP_NAME = 'test'
APP_PACKAGE = 'test1'
APP_ACTIVITY = 'test2'
}
agent {
node {
label 'master'
}
}
triggers {
cron('15 20 * * *')
}
stages {
stage('SCM Checkout') {
steps {
git(branch: 'APP', url: 'https://gitlab.test.ba/amrka/framework.git', poll: true, credentialsId: 'GitlabCred')
}
}
stage('Testing') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh(label: 'Test Process', script: "${mvnCMD} test")
}
}
}
}
}
答案 0 :(得分:0)
您可以使用 parameterized-scheduler插件。在Jenkins仪表板中,转到
Manage Jenkins -> Manage Plugins -> Parameterized Scheduler
。
要在需要使用不同环境的不同时间安排作业,您必须使用parameterized-scheduler插件。
H/20 * * * * %Parameter1
,其中Parameter1
是您想要的特定时间的环境变量。
H/30 * * * * %Parameter2
,其中Parameter2
是您想要的特定时间的不同环境变量。
应该已经设置好参数,以使parameterized-scheduler插件正常工作。它只能用于带有参数的作业。 请记住,必须已设置参数,因为该插件仅对具有参数的作业可见。 See more documentation including usage examples in the README。