Руководство по установке#
Инструмент управления поставками дистрибутивов служит для управления потоками развертывания и тестирования, автоматизации процессов поставки и контроля критериев качества дистрибутивов. Инструмент состоит из двух составляющих:
DevOps Pipeline Management (далее — DPM);
Quality Gates.
Соответственно документ Руководство по установке включает как руководство по установке DPM, так и руководство по установке Quality Gates.
Прежде чем приступить к установке компонента «Инструмент управления поставками дистрибутивов» (DPM), проверьте соблюдение следующих условий в вашем рабочем окружении.
Руководство по установке DPM#
Системные требования#
Условия установки DPM:
Компьютер с установленной на нем системой Ansible 2.6+ (также целевой компьютер).
На целевом компьютере должен быть настроен доступ по протоколу SSH до компьютера, на котором будет выполняться WildFly-приложение.
Наличие на целевом компьютере:
скриптов развертывания DPM с настроенным окружением в папке env/$ENV_NAME/ (см. комментарии по настройкам в файле env/EXAMPLE);
дистрибутивов DPM.
Настроенный сервер баз данных под управлением PostgreSQL версии 9.6.15. Необходимо настроить параметры, указанные в фале $ENV_NAME/all/common.yml :
dpm_db.name — имя базы данных;
dpm_db.user — имя пользователя с полными правами на сервер баз данных выше;
dpm_db_pass — пароль, как указано в файле $ENV_NAME/all/app_creds.yml.
Настроенный сервер WF версии 17.0.1.Final c уставленной на сервере 64-битной средой Java версии 1.8.0_141.
Сервер следует установить в папку, путь к которой указывается в переменной wf_path в файле $ENV_NAME/dpm_main/common.yml.
Сервер WF следует зарегистрировать c помощью systemd с названием, указанным в переменной wf_service.
Следует создать WF management-пользователя.
Внимание. WF management-пользователя можно создать с помощью утилиты ${wf_path}/bin/add-user.sh. Имя пользователя указано в переменной wf_user/wf_pass в файле $ENV_NAME/dpm_main/app_creds.yml.
Настроенное в файле конфигурации ${wf_path}/bin/standalone.conf значение переменной JAVA_OPTS. Значение переменной следует указывать для конкретной конфигурации сервера. Например, для сервера с 32 Гбайт RAM следует указать:
JAVA_OPTS="-Xms1064m -Xmx20512m -XX:MetaspaceSize=1096M -XX:MaxMetaspaceSize=7256m -[Djava.net](http://Djava.net).preferIPv4Stack=true -XX:+UseG1GC -XX:MaxGCPauseMillis=700 -XX:InitiatingHeapOccupancyPercent=30 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=10 -XX:G1MaxNewSizePercent=70 -XX:MaxTenuringThreshold=10 -XX:ParallelGCThreads=5 -XX:ConcGCThreads=2"Опционально. Настроенный сервер Nginx любой актуальной версии.
Рекомендуется дополнительно зашифровать все файлы app_creds.yml, выполнив в терминале команду:
ansible-vault encrypt env/$ENV_NAME/all/app_creds.yml --vault-id=/path/to/key
В /path/to/key содержится ключ шифровки — любой string
Установка#
Дистрибутивы DPM
Перед установкой DPM в папке /tmp необходимо сохранить полученные WAR-файлы:
dpm-artifact-sync-service;
dpm-atlas-service;
dpm-delegated-service;
dpm-log-service;
dpm-mail-service;
dpm-processing-service;
dpm.
Запуск скриптов развертывания DPM
В этом разделе описано, как установить сервис DPM на целевой компьютер.
Для первоначального развертывания DPM:
Откройте терминал на компьютере со скриптами развертывания.
В окне терминала выполните команду:
ansible-playbook -i env/$ENV_NAME/hosts tasks/dpm/deploy/main.yml --vault-id=/path/to/vault_file -e "dpm_version=1.1.1 dpm-mail-service=1.1.1 process_dpm_version=1.1.1 delegated_dpm_version=1.1.1 artifact_sync_version=1.1.1 dpm-atlas-service=1.1.1"В базе данных создайте схему с именем схемы log_jenkins, а затем в окне терминала выполните команду:
Внимание. Убедитесь, что версии сервисов соответствуют версиям дистрибутивов, сохраненных в папке /tmp.
ansible-playbook -i env/$ENV_NAME/hosts tasks/dpm/deploy/main.yml --vault-id=/path/to/vault_file -e "dpm-log-service=1.1.1"
Запустится установка сервиса.
Первый запуск DPM#
Для запуска DPM:
Откройте браузер.
В адресной строке перейдите по адресу http://<wf_ip>:<wf_port>/dpm/main/loginpage, где <wf_ip> — адрес целевого сервера, а <wf_port> — порт целевого сервера, на котором развернут сервер WildFly и установлен сервис DPM.
На странице входа в систему укажите учетные данные службы каталогов LDAP, как указано в настройках вашего окружения (см. Условия установки DPM).
Убедитесь, что запущены сервисы WildFly:
Внимание. Здесь везде <wf_ip> — адрес целевого сервера, а <wf_port> — порт целевого сервера, на котором развернут сервер WildFly и установлен сервис DPM
DPM Core. Перейдите по шаблону-ссылке http://<wf_ip>:<wf_port>/dpm/actuator/health
DPM Processing http://<wf_ip>:<wf_port>/processing/actuator/health
DPM Delegated service http://<wf_ip>:<wf_port>/delegate-service/actuator/health
Mail service http://<wf_ip>:<wf_port>/dpm-mail
Настройка Nginx
Веб-интерфейс сервиса DPM может устанавливаться на веб-сервер Nginx, что позволяет работать с сервисом DPM в браузере эффективнее. Для работы с веб-интерфейсом необходимо настроить конфигурацию Nginx.
Для настройки файла конфигурации Nginx:
Откройте терминал.
В окне терминала выполните команду:
ansible-playbook -i env/$ENV_NAME/hosts tasks/nginx/deploy/main.yml --vault-id=/path/to/vault_file.
Внимание. Адрес расположения веб-интерфейса указан в переменной dpm_domain_name файла common.yml , расположенного в папке $ENV_NAME/all/.
Откройте браузер, а затем в адресной строке перейдите по адресу, указанному в YML-файле, например: https://<адрес_вашего_компьютера.example>.
Внимание. Фактический адрес зависит от вашего окружения и настроек параметров, указанных в YML-файле.
Откроется веб-интерфейс сервиса DPM.
Перезапуск сервисов DPM, WildFly и Nginx#
Для перезапуска DPM (WildFly) или Nginx:
Откройте терминал.
В окне терминала выполните команду
ansible-playbook -i env/$ENV_NAME/hosts tasks/\[ dpm \|\| nginx \]/restart/main.yml --vault-id=/path/to/vault_file.
Требования к окружению#
В состав DPM входят следующие компоненты:
сервер баз данных;
сервер приложений WildFly.
Сервер баз данных#
Минимальные требования к аппаратному обеспечению
Аппаратная конфигурация сервера баз данных должна соответствовать требованиям:
16-ядерный CPU с частотой 2 ГГц;
16 Гбайт RAM;
свободное дисковое пространство 100 Гбайт.
Минимальные требования к системному программному обеспечению
На сервере баз данных должно быть установлено ПО:
ОС Linux 3.10;
СУБД Postgre SQL 9.2.
На сервере баз данных необходимо создать:
базу данных dpm;
пользователя с полными правами доступа к базе данных dpm.
Сервер приложений#
Минимальные требования к аппаратному обеспечению
Для обеспечения корректной работы ПО АС необходимо, чтобы аппаратная конфигурация сервера приложений отвечала следующим требованиям:
8-ядерный CPU с частотой 2 ГГц;
25 Гбайт RAM;
свободное дисковое пространство 50 Гбайт.
Требования к системному программному обеспечению
Перед установкой DPM на сервере приложений необходимо выполнить действия:
Установите ПО:
ОС Linux;
WildFlfy 10.1.0;
PostgreSQL 9.2.
Установите DPM.
Настройте DPM.
Требования к системному программному обеспечению
На рабочем месте администратора и пользователя должен быть установлен один из браузеров:
Google Chrome (только для сред Windows и Mac);
Yandex Browser;
Safari (только для среды Mac).
Руководство по установке Quality Gates#
Системные требования#
Условия установки QGM
Прежде чем приступить к установке компонента <<Инструмент управления поставками дистрибутивов>> (QGM), проверьте соблюдение следующих условий в вашем рабочем окружении:
Компьютер с установленной системой Ansible 2.6+ (далее также — целевой компьютер);
На целевом компьютере должен быть настроен доступ по протоколу SSH до компьютера, на котором будет выполняться WildFly-приложение;
Наличие на целевом компьютере:
скриптов развертывания QGS с настроенным окружением в папке env/$ENV_NAME/ (см. комментарии по настройкам в файле env/EXAMPLE);
дистрибутивов QGS.
Настроенный сервер баз данных под управлением PostgreSQL версии 11.0+. Необходимо настроить параметры, указанные в файле $ENV_NAME/all/common.yml:
qgm_db.name— имя базы данных;
qgm_db.user — имя пользователя с полными правами на сервер баз данных выше;
qgm_db_pass — пароль, как указано в файле $ENV_NAME/all/app_creds.yml.
Настроенный сервер WF версии 17.0.1.Final c установленной 64-битной средой Java версии1.8.0_141. Сервер должен быть:
установлен в папку, путь к которой указывается в переменной wf_path в файле $ENV_NAME/qgm_main/common.yml;
зарегистрирован c помощью systemd с названием, указанным в переменной wf_service.
Должен быть создан WF management-пользователь.
Внимание. WF management-пользователя можно создать с помощью утилиты ${wf_path}/bin/add-user.sh. Имя пользователя указано в переменной wf_user/wf_pass в файле $ENV_NAME/qgm_main/app_creds.yml.
настроенное в файле конфигурации ${wf_path}/bin/standalone.conf значение переменной JAVA_OPTS. Значение переменной следует указывать для конкретной конфигурации сервера. Например, для сервера с 32 Гбайт RAM следует указать: JAVA_OPTS= "-Xms1064m -Xmx20512m -XX:MetaspaceSize=1096M -XX:MaxMetaspaceSize=7256m -Djava.net.preferIPv4Stack=true -XX:+UseG1GC -XX:MaxGCPauseMillis=700 -XX:InitiatingHeapOccupancyPercent=30 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=10 -XX:G1MaxNewSizePercent=70 -XX:MaxTenuringThreshold=10 -XX:ParallelGCThreads=5 -XX:ConcGCThreads=2";
настроенный сервер Nginx любой актуальной версии (опционально);
рекомендуется дополнительно зашифровать все файлы app_creds.yml, выполнив в терминале команду:
ansible-vault encrypt env/$ENV_NAME/all/app_creds.yml --vault-id=/path/to/key
В /path/to/key содержится ключ шифровки — любой string
Установка#
Дистрибутивы QGM
Перед установкой QGS в папке /tmp необходимо сохранить полученный WAR-файл "qgm".
Запуск скриптов развертывания QGM
В этом разделе описано, как установить сервис QGM на целевой компьютер.
Для первоначального развертывания QGM выполните следующие действия:
Откройте терминал на компьютере со скриптами развертывания.
В окне терминала выполните команду:
ansible-playbook -i env/$ENV_NAME/hosts tasks/qgm/deploy/main.yml --vault-id=/path/to/vault_file -e "qgm_version=1.2.22".В базе данных создайте схему с именем схемы log_jenkins, а затем в окне терминала выполните команду:
Внимание. Убедитесь, что версии сервисов соответствуют версиям дистрибутивов, сохраненных в папке /tmp: ansible-playbook -i env/$ENV_NAME/hosts tasks/qgm/deploy/main.yml --vault-id=/path/to/vault_file -e "qgm-version=1.1.1".
Запустится установка сервиса.
Первый запуск QGM#
Для запуска QGM выполните следующие действия:
Откройте браузер.
В адресной строке перейдите по адресу http://<wf_ip>:<wf_port>/qgm/ui/login, где <wf_ip> — адрес целевого сервера, а <wf_port> — порт целевого сервера, на котором развернут сервер WildFly и установлен сервис QGM.
На странице входа в систему укажите учетные данные службы каталогов LDAP, как указано в настройках вашего окружения (см. раздел Условия установки QGM).
Убедитесь, что запущены сервисы WildFly:
Внимание. Здесь везде <wf_ip> — адрес целевого сервера, а <wf_port> — порт целевого сервера, на котором развернут сервер WildFly и установлен сервис QGM.
В QGM перейдите по шаблону-ссылке http://<wf_ip>:<wf_port>/qgm/actuator/health.
Настройка Nginx
Веб-интерфейс сервиса QGM может устанавливаться на веб-сервер Nginx, что позволяет работать с сервисом QGM в браузере эффективнее. Для работы с веб-интерфейсом необходимо настроить конфигурацию Nginx.
Для настройки файла конфигурации Nginx выполните следующие действия:
Откройте терминал.
В окне терминала выполните команду:
ansible-playbook -i env/$ENV_NAME/hosts tasks/nginx/deploy/main.yml --vault-id=/path/to/vault_file.
Внимание. Адрес расположения веб-интерфейса указан в переменной qgm_domain_name файла common.yml , расположенного в папке $ENV_NAME/all/
Откройте браузер, а затем в адресной строке перейдите по адресу, указанному в YML-файле, например: https://<адрес_вашего_компьютера.example>.
Внимание. Фактический адрес зависит от вашего окружения и настроек параметров, указанных в YML-файле
Откроется веб-интерфейс сервиса QGM.
Перезапуск сервисов QG, WildFly и Nginx#
Для перезапуска QG (WildFly) или Nginx выполните следующие действия:
Откройте терминал.
В окне терминала выполните команду:
ansible-playbook -i env/$ENV_NAME/hosts tasks/\[ qgm \|\| nginx \]/restart/main.yml --vault-id=/path/to/vault_file
Требования к окружению#
В состав QGM входят следующие компоненты:
сервер баз данных;
сервер приложений WildFly.
Сервер баз данных#
Минимальные требования к аппаратному обеспечению
Аппаратная конфигурация сервера баз данных должна соответствовать следующим требованиям:
16-ядерный CPU с частотой 2 ГГц;
16 Гбайт RAM;
свободное дисковое пространство 100 Гбайт.
Минимальные требования к системному программному обеспечению
На сервере баз данных должно быть установлено следующее ПО:
ОС Linux 3.10;
СУБД Postgre SQL 11.0+.
На сервере баз данных необходимо создать:
базу данных qgm;
пользователя с полными правами доступа к базе данных qgm.
Сервер приложений#
Минимальные требования к аппаратному обеспечению
Для обеспечения корректной работы ПО АС необходимо, чтобы аппаратная конфигурация сервера приложений отвечала следующим требованиям:
8-ядерный CPU с частотой 2 ГГц;
25 Гбайт RAM;
свободное дисковое пространство 50 Гбайт.
Требования к системному программному обеспечению
Перед установкой QGM на сервере приложений необходимо выполнить следующие действия:
Установите следующее ПО:
ОС Linux;
WildFlfy 10.1.0;
PostgreSQL 11.0+.
Установите QG.
Настройте QG.
Требования к системному программному обеспечению
На рабочем месте администратора и пользователя должен быть установлен один из следующих браузеров:
Google Chrome (только для сред Windows и Mac);
Yandex Browser;
Safari (только для среды Mac).