Назад | Перейти на главную страницу

Блокировать изменения в Jenkinsfile (Jenkins Pipeline)

Я использую плагин Jenkins Pipeline для создания коммитов в моем репозитории GitHub. Однако, хотя я достаточно доверяю людям на GitHub, чтобы делать коммиты в репозитории, сервер является общей инфраструктурой для нескольких проектов, и я не хочу предоставлять им эффективный root-доступ к ведомым устройствам.

Я вижу, что плагин блокирует изменения Jenkinsfile из запросов на извлечение. Можно ли настроить аналогичный функционал для все Jenkinsfile меняется?

Обратите внимание, что некоторые из этих людей являются владельцами в организации GitHub, поэтому исправление должно быть на Jenkins, а не на GitHub.

Если вы не доверяете этим людям, достаточно ли им запретить изменять Jenkinsfile?

Для правильного тестирования сервер jenkins в какой-то момент должен будет запустить ваш код, поэтому, если они могут отправить изменение в определенный файл, который, как они знают, будет выполняться на вашем компьютере Jenkins, они могут изменить его по своему желанию и заставить его запускать все, что угодно. вы пытаетесь заблокировать их выполнение в файле Jenkins.

Лишение их статуса владельца github даже не решает эту проблему, они могут сделать запрос на перенос с плохим кодом в нем, который ваша машина jenkins объединит и запустит.

Кроме того, ваш Jenkins не должен запускаться с правами root, иметь jenkinsuser без прав sudo для запуска тестов.