Настройка Deploy job для установки#
Подготовка репозитория конфигураций#
Создайте Git-репозиторий для хранения конфигураций Jenkins Job. В него необходимо поместить файлы из дистрибутива:
graf-bin-D-1.0.0-XXX-distrib.zip.1b4\package\scripts\deploy.zip\deploy
Распакуйте архив
deploy.zip.Скопируйте все содержимое из папки
/deployв корень созданного репозитория.
Настройка Credentials и секретов#
В Jenkins добавьте Global Credentials для доступа к секретам через Secman:
В разделе Properties → This project is parameterized добавьте следующие параметры:
Экранированные переменные (Secman)#
VIEW_ROLE_ID=//ID— идентификатор роли в Secman, содержащей необходимые секреты.VIEW_SECRET_ID=//ID— идентификатор секрета с учетными данными (например, пароль пользователяgrafanase).VIEW_DEPLOY_USER=grafanase— пользователь, от имени которого будет выполняться развертывание.
Настройка параметров Deploy job#
Добавьте следующие параметры в конфигурацию Jenkins Job:
Active Choice Parameter#
Имя:
SERVER1Тип: Active Choices Parameter
Groovy Script:
groovy return ['xxx-grafana-01.xxx', 'xx-grafana-01.xxx'] // Укажите актуальные имена хостов
Этот параметр определяет целевой сервер установки и должен соответствовать ключу в
xxx_inventory.yaml:
String Parameters#
branch_service_pvv_build— ветка Git-репозитория с конфигурацией (например,main,develop).DISTR_URL— URL архива с дистрибутивом (.zip).RPM_URL— URL RPM-пакета продукта.BUILD_AGENT— метка (label) агента Jenkins, на котором будет выполняться задача (например,linux-agent).EMAIL_LIST— список email-адресов для уведомлений о результате выполнения (через запятую).
Active Choice Parameter (Groovy)#
Имя:
DEPLOY_ENVТип: Active Choices Parameter
Groovy Script:
def dev_server="dev-xxx"
def st_server ="st-xxx"
if (SERVER1.equals("dev-grafаna-01.xxx")) {
return "<b>${dev_server}</b><input type=\"hidden\" name=\"value\" value=\"${dev_server}\" />"
}
Параметр определяет окружение (
dev-xxx,st-xxx) и используется для выбора соответствующего Jenkinsfile.
Настройка Pipeline#
Перейдите в раздел Pipeline и настройте:
Definition: Pipeline script from SCM
SCM: Git
Repositories:
Repository URL:
<URL_вашего_репозитория_с_конфигурацией>Credentials: Укажите учетные данные для Git
Branch Specifier:
*/${branch_service_pvv_build}Script Path:
deploy/${DEPLOY_ENV}/xxx_jenkinsfile_deploy_vm
Пример:
Если
DEPLOY_ENV = dev-xxx, то путь к скрипту:deploy/dev-xxx/xxx_jenkinsfile_deploy_vmФайл
xxx_jenkinsfile_deploy_vmсодержит логику развертывания для VM.