Jenkins 2 Multibranch Pipelines - 如何使用Role Strategy Plugin限制分支的可见性/执行?

时间:2017-04-27 19:44:14

标签: jenkins jenkins-plugins jenkins-pipeline jenkins-2 multibranch-pipeline

我在具有两个分支的项目中使用multibranch管道:develop和master。这将创建两个子项目,每个分支对应一个:

App_Pipeline
     |---master
     |---develop

我已设置角色策略插件,以根据分配的角色控制作业/管道的授权(可见性)。

项目角色

  • 经理:使用正则表达式App_.*
  • 开发人员:使用正则表达式App_.*

使用我当前的角色,两种类型的用户都可以看到超级项目(App_Pipeline),并且可以执行这两个子项目。

关键是我希望一些用户(开发人员)能够查看和运行开发子项目以及其他一些(经理)来查看和运行子项目,掌握和开发。

我还没有找到一种方法来配置它,任何想法如何实现?

更新:这是问题的整个背景。

我正在使用multibranch管道来扫描整个Bitbucket项目给我:

ORGANIZATION
   Repo1
     |---master
     |---develop
   Repo2
     |---master
     |---develop
   Poc-repo1
     |---master
     |---develop
   Poc-repo2
     |---master
     |---develop

我需要支持这些案例:

  1. 有些用户只能使用Poc-前缀读取和构建项目。不应该看到任何其他项目。
  2. 其他用户可以阅读所有项目,但只能构建开发分支
  3. 最后,其他人可以阅读和构建所有项目

1 个答案:

答案 0 :(得分:1)

它受两级安全结构的支持,例如:

rol1 ".\*holaArtifactoryMultibranch.\*" --> read

rol2 ".\*holaArtifactoryMultibranch/master.\*" --> build

现在,您可以将用户/组关联到rol1和rol2

更新:

我明白了,如果您有一个中间文件夹:

rol1    "^FOLDER$"   --> read

rol2    "^FOLDER/holaArtifactoryMultibranch.\*$"--> read

您会看到holaArtifactoryMultibranch文件夹,但看不到其他文件夹。