wcm_io_devops.conga_maven

wcm_io_devops.conga_maven

Ce rôle génère la configuration pour un environnement CONGA en exécutant Maven. Le rôle peut utiliser soit une définition de configuration (par exemple, dans le même dépôt que la configuration Ansible), soit un dépôt Git de configuration que le rôle clonera et mettra à jour si nécessaire.

Ce rôle a été développé dans le cadre de l' Automatisation Ansible DevOps wcm.io pour AEM afin d'intégrer Ansible avec CONGA.

Exigences

Ce rôle nécessite que Maven soit installé et, éventuellement, Git si vous souhaitez que le rôle utilise un dépôt Git pour la configuration. À la fois Maven et Git doivent être correctement configurés pour pouvoir accéder aux dépôts et artefacts utilisés dans la configuration CONGA. Actuellement, ce rôle doit être exécuté sur l'hôte Ansible (c'est-à-dire localhost), car wcm_io_devops.conga_facts est implémenté comme un plugin d'action qui est toujours exécuté localement. Donc, pour que le plugin puisse lire la configuration générée par ce rôle, ce rôle doit également s'exécuter localement.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :

# Nom de l'environnement CONGA pour lequel générer la configuration
conga_environment

Par défaut, le rôle utilise la variable conga_environment pour ne compiler que la configuration pour l'environnement spécifié par cette variable. Cependant, l'idée générale est que vous utilisez cette variable dans tout votre setup Ansible-CONGA pour cibler un seul environnement.

# Répertoire de base de la configuration CONGA
conga_basedir

Lorsque vous n'utilisez pas un dépôt Git de configuration, la variable conga_basedir doit pointer vers le répertoire de base de la définition de configuration CONGA (où se trouve le pom.xml). Sinon, il est automatiquement construit à partir des variables conga_maven_git_root et conga_maven_root.

# URI du dépôt Git de configuration
conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git"
# Répertoire dans lequel cloner la configuration
conga_maven_git_root: /tmp/git
# Branche à vérifier
conga_maven_git_branch: develop

Si vous souhaitez utiliser un dépôt Git de configuration, vous devez au moins définir la variable conga_maven_git_repo. Si elle n'est pas définie, la partie Git du rôle sera ignorée et vous devrez définir la variable conga_basedir manuellement.

# Chemin racine de la configuration CONGA
conga_maven_root: configuration
# Commande Maven à exécuter
conga_maven_cmd: mvn
# Options Maven (exécuter en mode batch, mettre à jour les snapshots et ne compiler qu'un seul environnement)
conga_maven_opts: "-B -U -Dconga.environments={{ conga_environment }}"
# Chemin d'un fichier de paramètres personnalisé à utiliser lors de l'exécution de Maven
conga_maven_settings: ~/.m2/settings.xml
# Chemin vers le fichier de mot de passe Vault, par défaut à la configuration Ansible
conga_maven_vault_password_file: "{{ lookup('config', 'DEFAULT_VAULT_PASSWORD_FILE') }}"

Ces variables vous permettent de personnaliser la façon dont Maven est exécuté, par exemple en fournissant un chemin complet pour l'exécutable Maven ou en fournissant un fichier de paramètres personnalisé.

Dépendances

Ce rôle ne dépend pas directement d'autres rôles, mais il est supposé être utilisé en combinaison avec le rôle/plugin wcm_io_devops.conga_facts qui analyse le modèle de configuration CONGA et l'expose en tant que variables Ansible. Pour que cela fonctionne, la variable conga_basedir doit pointer vers la racine du répertoire de configuration CONGA.

Exemple de Playbook

  1. Générer la configuration d'exemple CONGA pour l'environnement 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. Générer la configuration CONGA pour l'environnement dev à partir du répertoire local config-definition :

     - hosts: localhost
       vars:
         conga_environment: dev
       roles:
         - { role: wcm_io_devops.conga_maven,
             conga_basedir: config-definition }
    
À propos du projet

Generates CONGA configuration

Installer
ansible-galaxy install wcm_io_devops.conga_maven
Licence
apache-2.0
Téléchargements
49.6k
Propriétaire
Tools for Configuration Management and Deployment