Credentials Jenkins

Введение

Установив плагин Credentials можно централизованно хранить логин, пароль и другие средства аутентификации прямо в Jenkins

Credential Scopes:

System - доступны только на Jenkins сервере и нодах. Они не видны Jenkins заданиям (jobs)

Global - доступны всем.

Если зайти в Pipleline там тоже будет раздел Credentials - там задаются Credentials локальные для этого проекта и не видимые из других. Для этого требуется плагин Folders.

Пример

Пример создания Credentials в Jenkins

Manage Jenkins → Credentials

Создание Jenkins Credentials изображение с сайта www.devhops.site
Нажмите Credentials
www.devhops.site

В свежеустановленном Jenkins будет только один вариант - System. В обжитом Jenkins могут быть и другие варианты.

Создание Jenkins Credentials изображение с сайта www.devhops.site
Нажмите System
www.devhops.site

В свежеустановленном Jenkins будет только один вариант - Global. В обжитом Jenkins могут быть и другие варианты.

Создание Jenkins Credentials изображение с сайта www.devhops.site
Нажмите Global
www.devhops.site

В свежеустановленном Jenkins будет пусто.

Создание Jenkins Credentials изображение с сайта www.devhops.site
Нажмите Add Credentials
www.devhops.site

В обжитом Jenkins будут уже созданные Credentials.

Создание Jenkins Credentials изображение с сайта www.devhops.site
Нажмите Add Credentials
www.devhops.site

Теперь нужно заполнить поля с данными о Credentials.

Username with password

Создание Jenkins Credentials изображение с сайта www.devhops.site
Создание Credentials
www.devhops.site

Важно не забыть указать ID так как именно он будет идентифицировать данные. Если не задать его вручную - Jenkins сгенерирует ID самостоятельно и запомнить его будет сложнее.

SSH Username with private key

Для того чтобы пользоваться сохранёнными в Jenkins учётными данными нужно установить плагин Credentials Binding Plugin

Credentials Bind Создание Jenkins Credentials изображение с сайта www.devhops.site
Плагин
www.devhops.site

О том как использовать учетные данные в Pipeline читайте в статье «Использование учетных данных в Jenkins Pipeline»

GitHub Tokens (classic)

В публичном репозитории Credentials не нужны. Если репозиторий частный - можно настроить аутентификацию с помощью токена.

Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic)

Токен нужно скопировать

В Jenkins job (Configure)

Credentials → Add → Jenkins → Kind → Username with password → Scope → Global → Username → Ваше имя пользователя на github → Password → Вставить токен → ID → Имя токена с github → Description → Имя токен с github → Add

Затем в разделе Credentials выбрать только что созданную опцию из выпадающего списка.

Если появляется ошибка ERROR: Couldn't find any revision to build - стоит проверить имена веток в Jenkins и в репозитории на совпадение.

Автор статьи: Андрей Олегович