Jenkins 2 Multibranch Pipelines — как ограничить видимость/выполнение ветвей с помощью плагина стратегии ролей?

Я использую многоветвевые пайплайны в проектах с двумя ветками: development и master. Это создает два подпроекта, по одному для каждой ветки:

App_Pipeline
     |---master
     |---develop

Я настроил плагин Role Strategy для управления авторизацией (видимостью) заданий/конвейеров в зависимости от назначенной роли.

Роли в проекте:

  • менеджер: использует регулярное выражение App_.*
  • разработчик: использует регулярное выражение App_.*

С моими текущими ролями оба типа пользователей видят суперпроект (App_Pipeline) и могут выполнять оба подпроекта.

Дело в том, что я хочу, чтобы некоторые пользователи (разработчики) могли видеть и запускать подпроект разработки, а некоторые другие (менеджеры) — просматривать и запускать оба подпроекта, осваивать и разрабатывать.

Я еще не нашел способ настроить это, есть идеи, как это можно сделать?

ОБНОВЛЕНИЕ: это весь контекст проблемы.

Я использую многоветвевой конвейер для сканирования всего проекта Bitbucket, что дает мне:

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

Мне нужно поддержать эти случаи:

  1. Некоторые пользователи могут читать и создавать проекты ТОЛЬКО с префиксом Poc-. Не должен видеть никакого другого проекта.
  2. Другие пользователи могут читать все проекты, но только создавать ветки разработки.
  3. Наконец, другие могут читать и создавать все проекты

person codependent    schedule 27.04.2017    source источник
comment
Обе ветки создаются в одном задании Jenkins или у вас есть родительское задание с двумя дочерними заданиями (одно для основной ветки и одно для разработки)? Извините, я просто немного запутался в терминологии.   -  person BrianRT    schedule 27.04.2017
comment
На самом деле это не работа, а конвейер, подробнее здесь: jenkins.io/blog/2015/12/03/   -  person codependent    schedule 28.04.2017
comment
Неважно, что конвейер - это просто работа в jenkins, и из разрешений она устанавливается одинаково :)   -  person xxxvodnikxxx    schedule 26.02.2019


Ответы (1)


Он поддерживается двухуровневой структурой безопасности, например:

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

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

Теперь вы можете связать пользователя/группу с rol1 и rol2.

ОБНОВЛЕНИЕ:

Я понимаю вашу точку зрения, если у вас есть промежуточная папка:

rol1    "^FOLDER$"   --> read

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

Вы увидите папку holaArtifactoryMultibranch, но не другие.

person vmartin    schedule 25.02.2019
comment
Ваше решение не решает всю проблему, см. обновленный вопрос - person codependent; 26.02.2019