我们有两种类型的项目,自由式和多分支管道。我希望有一个developer
角色来获得对作业的读访问权,分析管道日志和归档工件。对于自由风格的项目工作很好,但对于多分支,开发人员角色中的用户看不到任何内容,显示消息“此文件夹为空”并且未显示触发的构建。请问有人可以点亮吗?
一些截图配置:qazxsw poi qazxsw poi
我有同样的问题,发现不是完美的解决方案,但它是有效的。
一个要求:GIT中的分支命名应该是持久的,带有额外的前缀。例如:stage 'Init'
node {
checkout scm
sh 'echo $ BRANCH_NAME'
}
if (env.BRANCH_NAME == 'develop') {
stage 'Only on develop'
println 'This happens only on develop'
} else {
stage 'Other branches'
println "Current branch $ {env.BRANCH_NAME}"
}
。然后,您可以通过此前缀值过滤掉它。了解更多link
作为输入参数,您可以在其中包含项目和多分支管道。例如:
feat/branchName
,branch naming in git flow,feat
等的不同分支。(例如:bug
,infra
等)infra/PRJ-135-reciepts-issues
,feat/PRJ-337-new-customer
,feat
等的不同分支。(例如:bug
,infra
等)并且您想为不同的用户分开它:
因此,您需要在基于角色的插件中进行以下配置:
项目角色:
infra/PRJ-876-new-env
feat/PRJ-999-entity-creation
哪里:
^Product1*|.*_Product1*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
- 将访问文件夹^Product2*|.*_Product2*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
^Product1*
- 将允许访问文件夹(multibranch项目) - Product1
.*_Product1*
- 将在这个多分支项目中访问带有前缀Multibranch_pipeline_Product2
或(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
或feat
或bug
或hotfix
的所有分支。你应该为Product2做同样的事情。
总而言之,您应该: - Developer1具有角色Product1 - Developer2具有角色Product2 - Developer3具有角色,Product1和Product2
我测试了这个解决方案,并且这样的配置权限不相交(Developer1将无权访问Product2中的分支,而Developer2将无法访问Product1中的分支)