Jenkins access roles: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 75: Строка 75:
 
[[image:JenkinsAccess6.png|400px]]
 
[[image:JenkinsAccess6.png|400px]]
 
<BR>
 
<BR>
  +
Простейший тестовый код - вывести переменные окружения.
   
 
<BR>
 
<BR>
 
[[image:JenkinsAccess7.png|400px]]
 
[[image:JenkinsAccess7.png|400px]]
 
<BR>
 
<BR>
  +
Результат - есть Folder и внутри него существует Job
 
 
<BR>
 
<BR>
 
[[image:JenkinsAccess8.png|400px]]
 
[[image:JenkinsAccess8.png|400px]]
<BR>
 
 
<BR>
 
[[image:JenkinsAccess9.png|400px]]
 
 
<BR>
 
<BR>
   

Версия 17:11, 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
JenkinsAccess1.png

Выбрать имя и задать тип элемента - Folder
JenkinsAccess2.png

Сохранить пока-что пустой Folder
JenkinsAccess3.png

Ожидаемый результат:
JenkinsAccess4.png

Поместить в него job

Создаем новый Job внутри Folder
Тип: FreeStyle
JenkinsAccess5.png

Добавить Build Step: Execute shell.
Это нужно для того что бы тестовая Job-а делала хоть что-то.
JenkinsAccess6.png
Простейший тестовый код - вывести переменные окружения.


JenkinsAccess7.png
Результат - есть Folder и внутри него существует Job
JenkinsAccess8.png

Назначить права

Ссылки