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設定ディレクトリのルートを指す必要があります。

例プレイブック

  1. 環境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 }
    
  2. ローカルディレクトリconfig-definitionから環境devのCONGA設定を生成します:

     - hosts: localhost
       vars:
         conga_environment: dev
       roles:
         - { role: wcm_io_devops.conga_maven,
             conga_basedir: config-definition }
    
プロジェクトについて

Generates CONGA configuration

インストール
ansible-galaxy install wcm_io_devops.conga_maven
ライセンス
apache-2.0
ダウンロード
49.6k
所有者
Tools for Configuration Management and Deployment