Jenkins access roles
Создание ролей в Jenkins
В Jenkins права распределяются немного "заморочено". Лично до меня дошло не с первого раза, по-тому и появилась эта заметка.
Установить нужные плагины
Можно обойтись только одним плагином role-strategy, но тогда придется следить за именами job и при переименовании права могут ломаться. По этой причине лучше сразу же использовать совместно с плагином role-strategy
role-strategy
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://127.0.0.1:8080/ install-plugin "role-strategy" --username admin --password r00tme Installing cloudbees-folder from update center
cloudbees-folder
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://127.0.0.1:8080/ install-plugin "cloudbees-folder" --username admin --password r00tme Installing cloudbees-folder from update center
Перезапуск Jenkins
После установки этих плагинов требуется перезапуск:
java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://127.0.0.1:8080/ safe-restart --username admin --password r00tme
Настройка прав доступа
Уже существуют 2 группы пользователей в LDAP:
- cicd_users
- cicd_administrators
Нужно назначать ограниченные права для группы cicd_users
Создать folder
Тут - проще сделать используя веб-интерфейс чем CLI, так-как create-item принимает на вход XML который еще требуется написать. Как один из вариантов - использовать конфигурацию существующей job.
Новый Item
Создать новый элемент - выбрать пункт New Item
Выбрать имя и задать тип элемента - Folder
Сохранить пока-что пустой Folder
Ожидаемый результат:
Поместить в него job
Создаем новый Job внутри Folder
Тип: FreeStyle
Добавить Build Step: Execute shell.
Это нужно для того что бы тестовая Job-а делала хоть что-то.
Простейший тестовый код - вывести переменные окружения.
Результат - есть Folder и внутри него существует Job