wcm_io_devops.conga_maven
wcm_io_devops.conga_maven
Ta rola generuje konfigurację dla środowiska CONGA za pomocą Maven. Rola może używać definicji konfiguracji (np. w tym samym repozytorium co konfiguracja Ansible) lub zdalnego repozytorium Git, które rola sklonuje i zaktualizuje w razie potrzeby.
Ta rola została opracowana w ramach wcm.io DevOps Ansible Automation for AEM aby zintegrować Ansible z CONGA.
Wymagania
Ta rola wymaga zainstalowanego Mavena, a opcjonalnie Gita, jeśli chcesz, aby rola korzystała z repozytorium Git do konfiguracji. Zarówno Maven, jak i Git muszą być odpowiednio skonfigurowane, aby mieć dostęp do repozytoriów i artefaktów używanych w konfiguracji CONGA. Aktualnie rola musi być uruchamiana na hoście Ansible (tj. localhost), ponieważ wcm_io_devops.conga_facts jest zaimplementowane jako wtyczka akcji, która zawsze jest wykonywana lokalnie. Dlatego aby wtyczka mogła odczytać konfigurację wygenerowaną przez tę rolę, rola musi również działać lokalnie.
Zmienne roli
Dostępne zmienne są wymienione poniżej z ich domyślnymi wartościami (zobacz defaults/main.yml
):
# Nazwa środowiska CONGA, dla którego generowana jest konfiguracja
conga_environment
Domyślnie rola używa zmiennej conga_environment
, aby skompilować konfigurację tylko dla środowiska określonego tą zmienną. Ogólnym celem jest korzystanie z tej zmiennej w całej konfiguracji Ansible-CONGA, aby celować w pojedyncze środowisko.
# Katalog bazowy konfiguracji CONGA
conga_basedir
Gdy nie używasz repozytorium Git, zmienna conga_basedir
musi wskazywać na katalog bazowy definicji konfiguracji CONGA (gdzie znajduje się pom.xml). W przeciwnym razie jest automatycznie budowane z zmiennych conga_maven_git_root
i conga_maven_root
.
# URI repozytorium Git dla konfiguracji
conga_maven_git_repo: "https://github.com/wcm-io-devops/conga.git"
# Katalog do sklonowania konfiguracji
conga_maven_git_root: /tmp/git
# Gałąź do zcheckoutowania
conga_maven_git_branch: develop
Jeśli chcesz używać repozytorium Git dla konfiguracji, musisz przynajmniej ustawić zmienną conga_maven_git_repo
. Jeśli nie jest ustawiona, część Gita roli zostanie pominięta i musisz ręcznie ustawić zmienną conga_basedir
.
# Katalog główny konfiguracji CONGA
conga_maven_root: configuration
# Komenda Maven do wykonania
conga_maven_cmd: mvn
# Opcje Maven (uruchom w trybie wsadowym, zaktualizuj snapshoty i tylko skompiluj pojedyncze środowisko)
conga_maven_opts: "-B -U -Dconga.environments={{ conga_environment }}"
# Ścieżka do niestandardowego pliku ustawień używanego podczas uruchamiania Mavena
conga_maven_settings: ~/.m2/settings.xml
# Ścieżka do pliku hasła Vault, domyślnie zgodna z konfiguracją Ansible
conga_maven_vault_password_file: "{{ lookup('config', 'DEFAULT_VAULT_PASSWORD_FILE') }}"
Te zmienne pozwalają dostosować sposób wykonywania Mavena, np. podając pełną ścieżkę do wykonywalnego pliku Mavena lub niestandardowy plik ustawień.
Zależności
Ta rola nie zależy bezpośrednio od innych ról, ale jest przeznaczona do użycia w połączeniu z rolą/wtyczką wcm_io_devops.conga_facts, która analizuje model konfiguracji CONGA i udostępnia go jako zmienne Ansible. Aby to działało, zmienna conga_basedir
musi wskazywać na główny katalog konfiguracji CONGA.
Przykładowy Playbook
Generuj przykładową konfigurację CONGA dla środowiska
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 }
Generuj konfigurację CONGA dla środowiska
dev
z lokalnego kataloguconfig-definition
:- hosts: localhost vars: conga_environment: dev roles: - { role: wcm_io_devops.conga_maven, conga_basedir: config-definition }
ansible-galaxy install wcm_io_devops.conga_maven