Я использую плагин Jenkins Pipeline для создания коммитов в моем репозитории GitHub. Однако, хотя я достаточно доверяю людям на GitHub, чтобы делать коммиты в репозитории, сервер является общей инфраструктурой для нескольких проектов, и я не хочу предоставлять им эффективный root-доступ к ведомым устройствам.
Я вижу, что плагин блокирует изменения Jenkinsfile из запросов на извлечение. Можно ли настроить аналогичный функционал для все Jenkinsfile меняется?
Обратите внимание, что некоторые из этих людей являются владельцами в организации GitHub, поэтому исправление должно быть на Jenkins, а не на GitHub.
Если вы не доверяете этим людям, достаточно ли им запретить изменять Jenkinsfile?
Для правильного тестирования сервер jenkins в какой-то момент должен будет запустить ваш код, поэтому, если они могут отправить изменение в определенный файл, который, как они знают, будет выполняться на вашем компьютере Jenkins, они могут изменить его по своему желанию и заставить его запускать все, что угодно. вы пытаетесь заблокировать их выполнение в файле Jenkins.
Лишение их статуса владельца github даже не решает эту проблему, они могут сделать запрос на перенос с плохим кодом в нем, который ваша машина jenkins объединит и запустит.
Кроме того, ваш Jenkins не должен запускаться с правами root, иметь jenkinsuser без прав sudo для запуска тестов.