wcm_io_devops.conga_maven

wcm_io_devops.conga_maven

这个角色通过运行 Maven 生成 CONGA 环境的配置。 角色可以使用配置定义(例如,与 Ansible 设置在同一个仓库中)或配置 Git 仓库,角色会根据需要进行克隆和更新。

这个角色是作为 wcm.io DevOps Ansible Automation for AEM 的一部分开发的,目的是将 Ansible 与 CONGA 集成。

要求

这个角色需要安装 Maven,如果想要使用 Git 仓库进行配置,建议安装 Git。Maven 和 Git 都需要正确预配置,以便能够访问 CONGA 设置中使用的仓库和工件。 目前,这个角色必须在 Ansible 主机上运行(即 localhost),因为 wcm_io_devops.conga_facts 实现为一个操作插件,总是本地执行。因此,为了让插件可以读取这个角色生成的配置,角色也需要本地运行。

角色变量

可用的变量如下所示,并包含默认值(见 defaults/main.yml):

# 要生成配置的 CONGA 环境名称
conga_environment

默认情况下,角色使用 conga_environment 变量仅为该变量指定的环境编译配置。 然而,整体思路是您在整个 Ansible-CONGA 设置中使用此变量,以针对单一环境。

# CONGA 配置的基础目录
conga_basedir

如果不使用 Git 配置仓库,则 conga_basedir 变量必须指向 CONGA 配置定义的基础目录(即 pom.xml 所在的位置)。否则,它会根据 conga_maven_git_rootconga_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 配置目录的根目录。

示例 Playbook

  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