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.

Пример плейбука

  1. Сгенерировать пример конфигурации 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 }
    
  2. Сгенерировать конфигурацию CONGA для среды dev из локального каталога config-definition:

     - hosts: localhost
       vars:
         conga_environment: dev
       roles:
         - { role: wcm_io_devops.conga_maven,
             conga_basedir: config-definition }
    
О проекте

Generates CONGA configuration

Установить
ansible-galaxy install wcm-io-devops/ansible-conga-maven
Лицензия
apache-2.0
Загрузки
49606
Владелец
Tools for Configuration Management and Deployment