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

cod*_*ent 6 jenkins jenkins-plugins jenkins-pipeline jenkins-2 multibranch-pipeline

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

App_Pipeline
     |---master
     |---develop
Run Code Online (Sandbox Code Playgroud)

我已经设置了角色策略插件来控制作业/管道的授权(可见性),具体取决于分配的角色.

项目角色:

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

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

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

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

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

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

ORGANIZATION
   Repo1
     |---master
     |---develop
   Repo2
     |---master
     |---develop
   Poc-repo1
     |---master
     |---develop
   Poc-repo2
     |---master
     |---develop
Run Code Online (Sandbox Code Playgroud)

我需要支持这些案件:

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

vma*_*tin 1

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

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

rol2 ".*holaArtifactoryMultibranch\/master.*" --> build
Run Code Online (Sandbox Code Playgroud)

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

更新:

如果您有中间文件夹,我明白您的观点:

rol1    "^FOLDER$"   --> read

rol2    "^FOLDER\/holaArtifactoryMultibranch.*$"--> read
Run Code Online (Sandbox Code Playgroud)

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