我有一个用于 Jenkins 管道的存储库,我为构建管道维护一个分支(我不想为开发人员/QA/产品建立单独的分支)。我想使用这个单一分支为所有开发人员/QA/产品创建单一 Jenkins 管道。根据用户的类型,我想更改管道运行的构建代理。例如:
对于开发人员/质量检查人员,我不希望他们看到更改构建代理参数的选项,在这种情况下,它应该以某种隐藏的方式强制执行或传递。但对于 Prod,我想提供从三个构建代理中选择任何一个的选项。任何实施过此类案例的人请帮忙。
您必须维护开发人员、QA 和产品的列表,然后您可以通过以下 groovy 脚本使用主动选择参数:
import hudson.model.User
def Devs = ['Dev1_email', 'Dev2_email']
def QA = ['qa1_email', 'qa2_email']
def Prod = ['prod1_email', 'prod2_email']
def user = User.current()
if(Devs.contains(user.toString())){
return ['build-server 1']
}
else if(QA.contains(user.toString())){
return ['build-server 2']
}
else if(Prod.contains(user.toString())){
return ['build-server 1', 'build-server 2', 'build-server 3']
}