gantsign.maven

Rol de Ansible: Maven

Pruebas
Ansible Galaxy
Licencia

Rol para instalar la herramienta de construcción Apache Maven.

Requisitos

  • Ansible Core >= 2.12

  • Distribución de Linux

    • Familia Debian

      • Debian

        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • Familia RedHat

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • Familia SUSE

      • openSUSE

        • 15.2
    • Nota: otras versiones probablemente funcionen pero no han sido probadas.

  • Kit de Desarrollo de Java SE (JDK)

    • La versión requerida del JDK depende de la versión de Apache Maven

      Versión de Maven Versión mínima de JDK
      3.9.x 8
      3.8.x 7
      3.6.x 7
      3.5.x 7
      3.3.x 7
      3.2.x 6
      3.1.x 5

Variables de la Rol

Las siguientes variables cambiarán el comportamiento de esta rol (los valores predeterminados se muestran a continuación):

# Número de versión de Maven
maven_version: '3.9.4'

# Espejo para descargar el paquete redistribuible de Maven
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Directorio base de instalación de la distribución de Maven
maven_install_dir: /opt/maven

# Directorio para almacenar archivos descargados para la instalación de Maven
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# El número de segundos a esperar antes de que se agote el tiempo de descarga de Maven
maven_download_timeout: 10

# Si se debe usar el proxy al descargar Maven (si la variable de entorno del proxy está presente)
maven_use_proxy: true

# Si se deben validar los certificados HTTPS al descargar Maven
maven_validate_certs: true

# Si esta es la instalación predeterminada, se crearán enlaces simbólicos a mvn y mvnDebug en /usr/local/bin
maven_is_default_installation: true

# Nombre del grupo de hechos de Ansible relacionado con esta instalación de Maven.
#
# Sobrescribir si deseas usar esta rol más de una vez para instalar múltiples versiones
# de Maven.
#
# Por ejemplo, maven_fact_group_name: maven_3_3
# cambiaría el hecho de Maven home a:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Versiones de Maven Soportadas

Las siguientes versiones de Maven son soportadas sin ninguna configuración adicional (para otras versiones sigue las instrucciones de Configuración Avanzada):

  • 3.9.4
  • 3.9.3
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 3.8.8
  • 3.8.7
  • 3.8.6
  • 3.8.5
  • 3.8.4
  • 3.8.3
  • 3.8.2
  • 3.8.1
  • 3.6.3
  • 3.6.2
  • 3.6.1
  • 3.6.0
  • 3.5.4
  • 3.5.3
  • 3.5.2
  • 3.5.0
  • 3.3.9
  • 3.2.5
  • 3.1.1

Configuración Avanzada

La siguiente variable de rol depende de la versión de Maven; para usar una versión de Maven no preconfigurada por esta rol, debes configurar la variable a continuación:

# Suma SHA256 para el paquete redistribuible (es decir, apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Ejemplos de Playbooks

Por defecto, esta rol instalará la última versión de Maven soportada por esta rol:

- hosts: servers
  roles:
    - role: gantsign.maven

Puedes instalar una versión específica de Maven especificando el maven_version (nota: si la versión no está actualmente soportada por esta rol, será necesaria una configuración adicional - ver Configuración Avanzada):

- hosts: servers
  roles:
    - role: gantsign.maven
      maven_version: '3.3.9'

Puedes instalar múltiples versiones de Maven utilizando esta rol más de una vez:

- hosts: servers
  roles:
    - role: gantsign.maven
      maven_version: '3.3.9'
      maven_is_default_installation: true
      maven_fact_group_name: maven

    - role: gantsign.maven
      maven_version: '3.2.5'
      maven_is_default_installation: false
      maven_fact_group_name: maven_3_2

Hechos de la Rol

Esta rol exporta los siguientes hechos de Ansible para su uso por otras roles:

  • ansible_local.maven.general.version

    • por ejemplo, 3.3.9
  • ansible_local.maven.general.home

    • por ejemplo, /opt/maven/apache-maven-3.3.9

Sobrescribir maven_fact_group_name cambiará los nombres de los hechos, por ejemplo:

maven_fact_group_name: maven_3_2

cambiaría el nombre de los hechos a:

  • ansible_local.maven_3_2.general.version
  • ansible_local.maven_3_2.general.home

Roles Relacionados

Puede que encuentres útiles los siguientes roles relacionados:

Más Roles de GantSign

Puedes encontrar más roles de GantSign en Ansible Galaxy.

Desarrollo y Pruebas

Este proyecto utiliza las siguientes herramientas:

  • Molecule para orquestar escenarios de prueba.
  • Testinfra para probar los cambios en el remoto.
  • pytest el marco de pruebas.
  • Tox administra entornos virtuales de Python para análisis y pruebas.
  • pip-tools para administrar las dependencias.

Se proporciona un Contenedor de Desarrollo de Visual Studio Code para desarrollar y probar esta rol.

Licencia

MIT

Información del Autor

John Freeman

GantSign Ltd.
Número de empresa 06109112 (registrada en Inglaterra)

Acerca del proyecto

Role for installing Apache Maven.

Instalar
ansible-galaxy install gantsign.maven
Licencia
mit
Descargas
304.7k
Propietario