У меня была та же проблема, но я нашел не идеальное решение, но оно работает.
Одно требование: именование ветвей в GIT должно быть постоянным, с дополнительным префиксом.Например: feat/branchName
.Затем вы можете отфильтровать его по этому значению префикса.см. больше для наименования веток в потоке git
В качестве входных параметров у вас есть проекты и многоотраслевые конвейеры внутри него.Например:
Product1 -> Multibranch_pipeline_Product1 -> различные ветви с префиксами feat
, bug
, infra
и т. Д. (Например: infra/PRJ-135-reciepts-issues
, feat/PRJ-337-new-customer
и т. д.)
Product2 -> Multibranch_pipeline_Product2 -> различные ветви с префиксами feat
, bug
, infra
и т. д. (например: infra/PRJ-876-new-env
, feat/PRJ-999-entity-creation
и т. Д.)
и вы хотите разделить его для разных пользователей:
- Developer1 - доступ только к Project1 и ветвям внутри многоотраслевого конвейера
- Developer2 - доступ только к Project2 и ветвям внутри многоотраслевого конвейера
- Developer3 - доступ к многоотраслевым конвейерам Project1 и Project2
Итак, вам нужна следующая конфигурация в плагине на основе ролей:
Роли проекта:
Шаблон Product1 - ^Product1*|.*_Product1*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
Шаблон Product2 - ^Product2*|.*_Product2*|(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
где:
^Product1*
- даст доступ к папке Product1
.*_Product1*
- даст доступ к папке (многоотраслевой проект) - Multibranch_pipeline_Product2
(.*)feat(.*)|(.*)bug(.*)|(.*)hotfix(.*)|(.*)infra(.*)|(.*)develop(.*)
- даст доступ ко всем веткам с префиксами feat
ИЛИ bug
ИЛИ hotfix
ИЛИ infra
ИЛИ develop
внутри этого многоотраслевого проекта.
И то же самое, что вы должны сделать для Product2.
В сумме вы должны иметь: - Developer1имеет роль Product1 - Developer2 имеет роль Product2 - Developer3 имеет обе роли, Product1 и Product2
Я протестировал это решение и с такой конфигурацией разрешения не пересекаются (Developer1 не будет иметь доступа к ветвям в Product2, а Developer2 не будет иметьдоступ к филиалам в Product1)