wcm_io_devops.conga_maven

wcm_io_devops.conga_maven

Diese Rolle erzeugt die Konfiguration für eine CONGA Umgebung, indem sie Maven ausführt. Die Rolle kann entweder eine Konfigurationsdefinition verwenden (z.B. im selben Repository wie das Ansible-Setup) oder ein Konfigurations-Git-Repository, das die Rolle klonen und bei Bedarf aktualisieren kann.

Diese Rolle wurde im Rahmen der wcm.io DevOps Ansible Automation für AEM entwickelt, um Ansible mit CONGA zu integrieren.

Voraussetzungen

Diese Rolle erfordert die Installation von Maven und optional Git, falls die Rolle ein Git-Repository für die Konfiguration nutzen soll. Sowohl Maven als auch Git müssen richtig vorkonfiguriert sein, um auf die in der CONGA-Installation verwendeten Repositories und Artefakte zugreifen zu können. Aktuell muss diese Rolle auf dem Ansible-Host (d.h. localhost) ausgeführt werden, da wcm_io_devops.conga_facts als Aktions-Plugin implementiert ist, das immer lokal ausgeführt wird. Damit das Plugin die von dieser Rolle generierte Konfiguration lesen kann, muss auch diese Rolle lokal ausgeführt werden.

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit ihren Standardwerten (siehe defaults/main.yml):

# Name der CONGA-Umgebung, für die die Konfiguration generiert werden soll
conga_environment

Standardmäßig verwendet die Rolle die Variable conga_environment, um nur die Konfiguration für die von dieser Variable angegebene Umgebung zu kompilieren. Die allgemeine Idee ist jedoch, dass Sie diese Variable in Ihrem gesamten Ansible-CONGA-Setup verwenden, um auf eine einzelne Umgebung abzuzielen.

# Basisverzeichnis der CONGA-Konfiguration
conga_basedir

Wenn kein Git-Konfigurationsrepository verwendet wird, muss die Variable conga_basedir auf das Basisverzeichnis der CONGA-Konfigurationsdefinition (wo sich die pom.xml befindet) zeigen. Andernfalls wird es automatisch aus den Variablen conga_maven_git_root und conga_maven_root erstellt.

# URI des Konfigurations-Git-Repos
conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git"
# Verzeichnis, in das die Konfiguration geklont werden soll
conga_maven_git_root: /tmp/git
# Branch, der ausgecheckt werden soll
conga_maven_git_branch: develop

Wenn Sie ein Git-Konfigurationsrepository verwenden möchten, müssen Sie mindestens die Variable conga_maven_git_repo festlegen. Wenn sie nicht festgelegt ist, wird der Git-Teil der Rolle übersprungen und Sie müssen die Variable conga_basedir manuell festlegen.

# Stammverzeichnis der CONGA-Konfiguration
conga_maven_root: configuration
# Maven-Befehl, der ausgeführt werden soll
conga_maven_cmd: mvn
# Maven-Optionen (im Batch-Modus ausführen, Snapshots aktualisieren und nur eine einzelne Umgebung kompilieren)
conga_maven_opts: "-B -U -Dconga.environments={{ conga_environment }}"
# Pfad zu einer benutzerdefinierten Einstellungsdatei, die bei der Ausführung von Maven verwendet werden soll
conga_maven_settings: ~/.m2/settings.xml
# Pfad zur Vault-Passwortdatei, standardmäßig auf die Ansible-Konfiguration
conga_maven_vault_password_file: "{{ lookup('config', 'DEFAULT_VAULT_PASSWORD_FILE') }}"

Diese Variablen ermöglichen es Ihnen, die Art und Weise zu ändern, wie Maven ausgeführt wird, z.B. einen vollständigen Pfad für die Maven-Binärdatei anzugeben oder eine benutzerdefinierte Einstellungsdatei bereitzustellen.

Abhängigkeiten

Diese Rolle hängt nicht direkt von anderen Rollen ab, sondern soll in Kombination mit der Rolle/Plugin wcm_io_devops.conga_facts verwendet werden, das das CONGA-Konfigurationsmodell analysiert und es als Ansible-Variablen bereitstellt. Damit dies funktioniert, muss die Variable conga_basedir auf das Root-Verzeichnis der CONGA-Konfigurationsverzeichnis zeigen.

Beispiel-Playbook

  1. Generiere die CONGA-Beispielkonfiguration für die Umgebung 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. Generiere die CONGA-Konfiguration für die Umgebung dev aus dem lokalen Verzeichnis config-definition:

     - hosts: localhost
       vars:
         conga_environment: dev
       roles:
         - { role: wcm_io_devops.conga_maven,
             conga_basedir: config-definition }
    
Über das Projekt

Generates CONGA configuration

Installieren
ansible-galaxy install wcm_io_devops.conga_maven
GitHub Repository
Lizenz
apache-2.0
Downloads
49.6k
Besitzer
Tools for Configuration Management and Deployment