wcm_io_devops.conga_maven
wcm_io_devops.conga_maven
この役割は、Mavenを実行することによってCONGA環境の設定を生成します。この役割は、設定定義(例:Ansibleセットアップと同じリポジトリ内)を使用することも、必要に応じてクローン&更新する設定Gitリポジトリを使用することもできます。
この役割は、AnsibleとCONGAを統合するために、 wcm.io DevOps Ansible Automation for AEMの一部として開発されました。
要件
この役割にはMavenのインストールが必要で、Gitリポジトリを使用したい場合はGitもオプションとして必要です。MavenとGitの両方は、CONGAセットアップで使用されるリポジトリとアーティファクトにアクセスできるように適切に設定されている必要があります。 この役割は、wcm_io_devops.conga_factsが常にローカルで実行されるアクションプラグインとして実装されているため、Ansibleホスト(つまり、localhost)で実行する必要があります。この役割によって生成される設定をプラグインが読み取るために、この役割もローカルで実行される必要があります。
役割の変数
使用可能な変数は以下に示されており、デフォルト値とともに記載されています(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
変数から自動的に構築されます。
# 設定GitリポジトリのURI
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設定ディレクトリのルートを指す必要があります。
例プレイブック
環境
prod
のためにCONGAの例設定を生成します:- 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 }
ローカルディレクトリ
config-definition
から環境dev
のCONGA設定を生成します:- hosts: localhost vars: conga_environment: dev roles: - { role: wcm_io_devops.conga_maven, conga_basedir: config-definition }