当前位置: 首页 > 面试题库 >

Jenkins 2多分支管道-如何使用角色策略插件限制分支的可见性/执行?

宓茂才
2023-03-14
问题内容

我在具有两个分支的项目中使用多分支管道:开发和掌握。这将创建两个子项目,每个分支一个。

App_Pipeline
     |---master
     |---develop

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

项目角色

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

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

关键是我希望一些用户(开发人员)能够查看和运行开发子项目,而另一些用户(经理)能够查看和运行两个子项目(主项目和开发项目)。

我还没有找到配置它的方法,知道如何实现它吗?

更新: 这是问题的整个上下文。

我正在使用多分支管道来扫描整个Bitbucket项目,这给了我:

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

我需要支持以下情况:

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

问题答案:

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

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

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

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

更新:

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

rol1    "^FOLDER$"   --> read

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

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



 类似资料:
  • 有人知道如何使用跨分支的多分支作业中设置的声明性管道来限制并发构建吗? 每当我们为某个阶段设置代理时,就会分配一个新的执行者。这会导致死锁,例如,当您为尽可能多的分支同时触发生成时,您有执行者。不设置代理会导致阶段随机选择执行者,这是不可接受的,因为某些阶段需要在某些代理上运行。。。 经典的方法不起作用: Throttle并发构建插件不适用于多分支 设置属性([disableConcurrentB

  • 我在Jenkins中有一个多分支管道项目。我想在管道项目中列出分支时禁用它。我可以添加异常以超越scm触发。但是我想禁用所有触发,包括手动触发。如果我在为分支创建的作业中使用“构建触发器”下的“禁用此项目”,则在我重新加载页面时不会选择该选项(没有可用于单分支管道的保存/应用按钮)。它只保留在Jenkinsfile中配置的以下配置。 有没有办法在Jenkinsfile中指定“禁用此项目”

  • 是否可以将多分支管道限制为一次只构建一个分支? 我有一个管道,它包含签出、构建、测试,然后部署的步骤。部署阶段在特定的机器上复制/执行一些文件,这些工作无法与其他分支作业并行完成。 我尝试过: 但这只限制了基于分支的并发,因此仍然有多个分支将并行运行。 此外,在常规非流水线Jenkins作业中,有一个选项复选框: “必要时执行并发生成” 但这在多分支配置中也不可用。 是否有其他配置来实现这一点,或

  • 问题内容: 我正在利用多分支管道工作流,在Jenkins中将并发构建的数量限制为特定数量,但是在docs或google中找不到任何好的方法。 一些文档说这可以在Jenkinsfile步骤中使用并发来完成,但是我在其他地方也读过,这是不推荐使用的方式。 似乎最近发布了一些用于限制并发通过的东西,但是我找不到它的文档,并且在遵循代码时遇到了麻烦。我唯一发现的PR显示以下内容: 但是我很难让它工作。 是

  • 我正在考虑在Jenkins中将并发构建的数量限制在一个特定的数量,利用多分支管道工作流,但在docs或google中还没有找到任何好的方法来做到这一点。 一些文档说这可以在Jenkinsfile的步骤中使用并发来完成,但我在其他地方也读到这是一种不推荐的方式。 看起来最近发布了一些通过作业属性限制并发性的东西,但我找不到相关文档,而且我在遵循代码方面遇到了问题。我发现的唯一一件公关展示了以下内容:

  • 对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应