gpt4 book ai didi

Jenkins 角色策略插件和多分支管道

转载 作者:行者123 更新时间:2023-12-04 15:53:15 28 4
gpt4 key购买 nike

我们有两种类型的项目,一种是自由式,一种是多分支流水线。我想拥有一个 developer 角色来获得对作业的只读访问权限,以分析管道日志和存档的工件。对于自由式项目,效果很好,但对于多分支,开发人员角色中的用户看不到任何东西,会出现消息“此文件夹为空”,并且不会出现触发构建。有人可以点灯吗?

配置的一些屏幕截图: Global roles Project roles

最佳答案

我有同样的问题,没有找到完美的解决方案,但它是有效的。

一个要求:GIT 中的分支命名应该是持久的,带有额外的前缀。例如:feat/branchName。然后你可以通过这个前缀值过滤掉它。查看更多 branch naming in git flow

作为输入参数,您在其中包含项目和多分支管道。例如:

  • Product1 -> Multibranch_pipeline_Product1 -> 不同的分支前缀 featbuginfra 等(例如:infra/PRJ-135-reciepts-issuesfeat/PRJ-337-new-customer 等)

  • Product2 -> Multibranch_pipeline_Product2 -> 不同的分支前缀 featbuginfra 等(例如:infra/PRJ-876-new-envfeat/PRJ-999-entity-creation 等)

并且您想为不同的用户将其分开:

  • Developer1 - 仅访问 Project1 和 multibranch 中的分支管道
  • Developer2 - 仅访问 Project2 和其中的分支多分支管道
  • 开发人员 3 - 访问项目 1 和项目 2多分支管道

因此您需要在基于角色的插件中进行以下配置:

项目角色:

  • 产品 1 模式 -^Product1*|.*_Product1*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.* )|(.*)开发(.*)

  • 产品 2 模式 -^Product2*|.*_Product2*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.* )|(.*)开发(.*)

哪里:

  • ^Product1* - 将授予对文件夹 Product1
  • 的访问权限
  • .*_Product1* - 将授予对文件夹(多分支项目)的访问权限 - Multibranch_pipeline_Product2
  • (.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*) develop(.*) - 将允许访问前缀为 featbughotfixinfra 的所有分支develop 在此多分支项目中。

您应该为 Product2 做同样的事情。

总而言之,你应该: - Developer1 具有角色 Product1 - Developer2 具有角色 Product2 - Developer3 有两个角色,Product1 和 Product2

我测试了这个解决方案并且具有这样的配置权限不相交(Developer1 将无法访问 Product2 中的分支并且 Developer2 将无法访问 Product1 中的分支)

关于Jenkins 角色策略插件和多分支管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53015798/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com