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