gantsign.maven

Rôle Ansible : Maven

Tests
Ansible Galaxy
License

Rôle pour installer l'outil de construction Apache Maven.

Exigences

  • Ansible Core >= 2.12

  • Distribution Linux

    • Famille Debian

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • Famille SUSE

      • openSUSE

        • 15.2
    • Note : d'autres versions devraient fonctionner mais n'ont pas été testées.

  • Kit de développement Java SE (JDK)

    • La version du JDK requise dépend de la version d'Apache Maven

      Version Maven Version JDK Minimale
      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 du Rôle

Les variables suivantes changeront le comportement de ce rôle (les valeurs par défaut sont indiquées ci-dessous) :

# Numéro de version de Maven
maven_version: '3.9.4'

# Miroir pour télécharger le paquet redistribuable de Maven
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Répertoire d'installation de la distribution Maven
maven_install_dir: /opt/maven

# Répertoire pour stocker les fichiers téléchargés pour l'installation de Maven
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Nombre de secondes à attendre avant que le téléchargement de Maven n'expire
maven_download_timeout: 10

# Si utilisez le proxy lors du téléchargement de Maven (si la variable d'environnement proxy est présente)
maven_use_proxy: true

# Si validez les certificats HTTPS lors du téléchargement de Maven
maven_validate_certs: true

# Si c'est l'installation par défaut, des liens symboliques vers mvn et mvnDebug seront créés dans /usr/local/bin
maven_is_default_installation: true

# Nom du groupe de faits Ansible concernant cette installation de Maven.
#
# À remplacer si vous voulez utiliser ce rôle plus d'une fois pour installer plusieurs versions de Maven.
#
# par ex. maven_fact_group_name: maven_3_3
# changerait le fait de la maison de Maven en :
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Versions de Maven Supportées

Les versions suivantes de Maven sont supportées sans configuration supplémentaire (pour d'autres versions, suivez les instructions de Configuration Avancée) :

  • 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

Configuration Avancée

La variable de rôle suivante dépend de la version de Maven ; pour utiliser une version de Maven non pré-configurée par ce rôle, vous devez configurer la variable ci-dessous :

# Somme SHA256 pour le paquet redistribuable (c'est-à-dire apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Exemples de Playbooks

Par défaut, ce rôle installera la dernière version de Maven supportée par ce rôle :

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

Vous pouvez installer une version spécifique de Maven en spécifiant maven_version (note : si la version n'est pas actuellement supportée par ce rôle, une configuration supplémentaire sera nécessaire - voir Configuration Avancée) :

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

Vous pouvez installer plusieurs versions de Maven en utilisant ce rôle plusieurs fois :

- 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

Faits du Rôle

Ce rôle exporte les faits Ansible suivants pour être utilisés par d'autres rôles :

  • ansible_local.maven.general.version

    • par exemple 3.3.9
  • ansible_local.maven.general.home

    • par exemple /opt/maven/apache-maven-3.3.9

Surpasser maven_fact_group_name changera les noms des faits par exemple :

maven_fact_group_name: maven_3_2

Changerait le nom des faits en :

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

Rôles Connexes

Vous pourriez trouver les rôles suivants utiles :

Plus de Rôles de GantSign

Vous pouvez trouver d'autres rôles de GantSign sur Ansible Galaxy.

Développement & Tests

Ce projet utilise les outils suivants :

  • Molecule pour orchestrer les scénarios de test
  • Testinfra pour tester les changements à distance
  • pytest le cadre de test
  • Tox gère les environnements virtuels Python pour le linting et les tests
  • pip-tools pour gérer les dépendances

Un Dev Container Visual Studio Code est fourni pour développer et tester ce rôle.

Licence

MIT

Informations sur l'Auteur

John Freeman

GantSign Ltd.
Numéro d'entreprise : 06109112 (enregistré en Angleterre)

À propos du projet

Role for installing Apache Maven.

Installer
ansible-galaxy install gantsign.maven
Licence
mit
Téléchargements
304.7k
Propriétaire