Доступ к контрольному трубопроводу Гитлаб - PullRequest
0 голосов
/ 22 февраля 2019

Я пробую конвейеры в git lab Community Edition.

Насколько я понимаю, из gitlab код и конвейеры находятся в одном и том же хранилище git.

В моем сценарииОтветственность за конвейеры несет команда разработчиков и код от команды разработчиков.

Каким образом в git lab можно запретить разработчикам изменять конвейер?Я понимаю, что можно добавить команду devops в качестве сопровождающего для проверки запросов на получение, но это создаст зависимость команд devops в каждом изменении.

спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

GitLab на самом деле не предназначен для сценария, который вы описываете.Общая идея заключается в том, что разработчики сами следят за конфигурацией CI.

Вы можете попробовать использовать функцию , включающую , чтобы сохранить основную часть конфигурации CI в отдельном репозитории.

В хранилище приложения у вас будет файл .gitlab-ci.yml, который извлекает конфигурацию CI из другого хранилища с помощью include-project:

include:
  - project: 'my-group/my-ciproject'
    ref: master
    file: '/ci/.gitlab-ci-myappproject.yml'

Тогда в хранилище my-group / my-ciproject вы будете иметьфайл .gitlab-ci-myappproject.yml, содержащий конфигурацию заданий GitLab CI.

build:
  script:
    - dobuild

Только команда DevOps будет иметь доступ к репозиторию my-group / my-ciproject, поэтому разработчики не смогут редактировать конфигурацию CI (хотяможет связываться с файлом .gitlab-ci.yml` в репозитории приложения).

В качестве альтернативы вы можете защитить основную ветку и одобрить все изменения перед слиянием с мастером.Тогда разработчики не смогут вносить изменения в CI без одобрения.

...