conga_maven
wcm_io_devops.conga_maven
Эта роль генерирует конфигурацию для среды CONGA с помощью Maven. Роль может использовать как определение конфигурации (например, в том же репозитории, что и настройка Ansible), так и репозиторий Git с конфигурацией, который роль клонирует и обновляет по мере необходимости.
Эта роль была разработана как часть wcm.io DevOps Ansible Automation for AEM для интеграции Ansible с CONGA.
Требования
Для работы этой роли необходимо установить Maven, а также опционально Git, если вы хотите, чтобы роль использовала репозиторий Git для конфигурации. Оба, Maven и Git, должны быть правильно настроены для доступа к используемым в настройке CONGA репозиториям и артефактам. В настоящее время эту роль необходимо запускать на узле Ansible (т.е. на локальном хосте), так как wcm_io_devops.conga_facts реализована как плагин-экшен, который всегда выполняется локально. Поэтому, чтобы плагин мог считать конфигурацию, сгенерированную этой ролью, она также должна запускаться локально.
Переменные роли
Доступные переменные перечислены ниже вместе с их значениями по умолчанию (см. defaults/main.yml
):
# Название среды CONGA, для которой будет сгенерирована конфигурация
conga_environment
По умолчанию роль использует переменную conga_environment
, чтобы скомпилировать конфигурацию только для среды, указанной в этой переменной. Однако общая идея заключается в том, что вы используете эту переменную в своей настройке Ansible-CONGA для настройки одной среды.
# Основной каталог конфигурации CONGA
conga_basedir
При отсутствии использования репозитория Git для конфигурации переменная conga_basedir
должна указывать на основной каталог определения конфигурации CONGA (где находится pom.xml). В противном случае она автоматически формируется из переменных conga_maven_git_root
и conga_maven_root
.
# URI репозитория Git с конфигурацией
conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git"
# Каталог для клонирования конфигурации
conga_maven_git_root: /tmp/git
# Ветка для проверки
conga_maven_git_branch: develop
Если вы хотите использовать репозиторий Git для конфигурации, вам необходимо хотя бы установить переменную conga_maven_git_repo
. Если она не установлена, часть роли, относящаяся к Git, будет пропущена, и вам нужно будет вручную установить переменную conga_basedir
.
# Корневая папка конфигурации CONGA
conga_maven_root: configuration
# Команда Maven для выполнения
conga_maven_cmd: mvn
# Опции Maven (запуск в пакетном режиме, обновление снапшотов и компиляция только одной среды)
conga_maven_opts: "-B -U -Dconga.environments={{ conga_environment }}"
# Путь к пользовательскому файлу настроек для использования при запуске Maven
conga_maven_settings: ~/.m2/settings.xml
# Путь к файлу с паролем Vault, по умолчанию используется конфигурация Ansible
conga_maven_vault_password_file: "{{ lookup('config', 'DEFAULT_VAULT_PASSWORD_FILE') }}"
Эти переменные позволяют вам настроить выполнение Maven, например, указать полный путь к исполняемому файлу Maven или указать пользовательский файл настроек.
Зависимости
Эта роль не зависит напрямую от других ролей, но предполагается, что она будет использоваться в комбинации с ролью/плагином wcm_io_devops.conga_facts, который разбирает модель конфигурации CONGA и предоставляет ее в виде переменных Ansible. Для этого необходимо, чтобы переменная conga_basedir
указывала на корень каталога конфигурации CONGA.
Пример плейбука
Сгенерировать пример конфигурации CONGA для среды
prod
:- hosts: localhost vars: conga_environment: prod roles: - { role: wcm_io_devops.conga_maven, conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git", conga_maven_git_branch: master, conga_maven_root: example }
Сгенерировать конфигурацию CONGA для среды
dev
из локального каталогаconfig-definition
:- hosts: localhost vars: conga_environment: dev roles: - { role: wcm_io_devops.conga_maven, conga_basedir: config-definition }
ansible-galaxy install wcm-io-devops/ansible-conga-maven