Настройка 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.