wcm_io_devops.conga_maven

wcm_io_devops.conga_maven

Este rol genera la configuración para un entorno CONGA ejecutando Maven. El rol puede utilizar una definición de configuración (por ejemplo, en el mismo repositorio que la configuración de Ansible) o un repositorio Git de configuración, que el rol clonará y actualizará según sea necesario.

Este rol fue desarrollado como parte de la Automatización Ansible DevOps de wcm.io para AEM para integrar Ansible con CONGA.

Requisitos

Este rol requiere que Maven esté instalado y opcionalmente Git si deseas que el rol utilice un repositorio Git para la configuración. Tanto Maven como Git deben estar correctamente preconfigurados para poder acceder a los repositorios y artefactos utilizados en la configuración de CONGA. Actualmente, este rol debe ejecutarse en el host de Ansible (es decir, localhost) ya que wcm_io_devops.conga_facts se implementa como un plugin de acción que siempre se ejecuta de forma local. Por lo tanto, para que el plugin pueda leer la configuración generada por este rol, este rol también debe ejecutarse localmente.

Variables del rol

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml):

# Nombre del entorno CONGA para el cual generar la configuración
conga_environment

Por defecto, el rol utiliza la variable conga_environment para compilar únicamente la configuración para el entorno especificado por esta variable. Sin embargo, la idea general es que uses esta variable en toda tu configuración Ansible-CONGA para dirigirte a un solo entorno.

# Directorio base de la configuración de CONGA
conga_basedir

Cuando no se utiliza un repositorio de configuración Git, la variable conga_basedir debe apuntar al directorio base de la definición de configuración de CONGA (donde se encuentra el pom.xml). De lo contrario, se construye automáticamente a partir de las variables conga_maven_git_root y conga_maven_root.

# URI del repositorio Git de configuración
conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git"
# Directorio para clonar la configuración
conga_maven_git_root: /tmp/git
# Rama a clonar
conga_maven_git_branch: develop

Si deseas utilizar un repositorio de configuración Git, necesitas al menos establecer la variable conga_maven_git_repo. Si no se establece, se omitirá la parte de Git del rol y deberás establecer la variable conga_basedir manualmente.

# Ruta raíz de la configuración de CONGA
conga_maven_root: configuration
# Comando Maven a ejecutar
conga_maven_cmd: mvn
# Opciones de Maven (ejecutar en modo por lotes, actualizar instantáneas y compilar solo un entorno)
conga_maven_opts: "-B -U -Dconga.environments={{ conga_environment }}"
# Ruta de un archivo de configuración personalizado para usar al ejecutar Maven
conga_maven_settings: ~/.m2/settings.xml
# Ruta al archivo de contraseña de Vault, predeterminado a la configuración de Ansible
conga_maven_vault_password_file: "{{ lookup('config', 'DEFAULT_VAULT_PASSWORD_FILE') }}"

Estas variables te permiten personalizar la forma en que se ejecuta Maven, por ejemplo, proporcionando una ruta completa para el ejecutable de Maven o proporcionando un archivo de configuración personalizado.

Dependencias

Este rol no depende directamente de otros roles, pero se supone que se utilizará en combinación con el rol/plugin wcm_io_devops.conga_facts que analiza el modelo de configuración de CONGA y lo expone como variables de Ansible. Para que esto funcione, la variable conga_basedir debe apuntar a la raíz del directorio de configuración de CONGA.

Ejemplo de Playbook

  1. Generar una configuración de ejemplo de CONGA para el entorno 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. Generar configuración de CONGA para el entorno dev desde el directorio local config-definition:

     - hosts: localhost
       vars:
         conga_environment: dev
       roles:
         - { role: wcm_io_devops.conga_maven,
             conga_basedir: config-definition }
    
Acerca del proyecto

Generates CONGA configuration

Instalar
ansible-galaxy install wcm_io_devops.conga_maven
Licencia
apache-2.0
Descargas
49.6k
Propietario
Tools for Configuration Management and Deployment