Jenkins access roles: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 100: | Строка 100: | ||
<BR> |
<BR> |
||
+ | Создать 2 глобальные роли |
||
⚫ | |||
+ | * Админ с полным доступом |
||
+ | * overall/Read - глобальная роль которая имеет только право на чтение глобально (overall/Read - это название привилегии в Jenkins и роль которая владеет только этой привилегией названа точно так же) |
||
+ | |||
+ | <BR> |
||
⚫ | |||
<BR> |
<BR> |
||
Версия 17:37, 12 декабря 2016
Создание ролей в 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
Назначить права
В разделе Manage Jenkins перейти к Manage and Assign Roles
В разделе Manage and Assign Roles требуется создать роли - для этого перейти в раздел Manage Roles
Создать 2 глобальные роли
- Админ с полным доступом
- overall/Read - глобальная роль которая имеет только право на чтение глобально (overall/Read - это название привилегии в Jenkins и роль которая владеет только этой привилегией названа точно так же)