【发布时间】:2021-10-03 22:26:38
【问题描述】:
我们有两个环境,qa 和 dev,在 Jenkinsfile 中配置为参数。插件Role-based Authorization Strategy开启,有两组用户,qa和dev(同环境)。这里的问题是 qa 用户可以开始使用 dev 环境构建作业。我们有什么方法可以限制这种行为吗? 这是一个简单的例子:
pipeline {
agent any
choice(name: 'environment', choices: ['dev', 'qa']
stages {
stage('test') {
script {
if (params.environment == 'dev' && env.BUILD_USER_ID not in env.BUILD_USER_GROUPS) {echo "User ${env.BUILD_USER_ID} can not start build on DEV enviroment"}
else if (params.environment == 'qa' && env.BUILD_USER_ID not in env.BUILD_USER_GROUPS) {echo "User ${env.BUILD_USER_ID} can not start build on QA enviroment"}
else {echo "You can run job, You are in proper group for this enviroment"}
}
}
}
}
一个例子是不真实的,也许不起作用,但我希望能理解我想要完成的事情。
附:这方面的文档不太好,在网上也找不到更多示例。
【问题讨论】:
标签: jenkins jenkins-pipeline jenkins-plugins devops