gantsign.maven

Ansible Rolle: Maven

Tests Ansible Galaxy Lizenz

Rolle zur Installation des Apache Maven Build-Tools.

Anforderungen

  • Ansible Core >= 2.12

  • Linux Distribution

    • Debian Familie

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • SUSE Familie

      • openSUSE

        • 15.2
    • Hinweis: Andere Versionen könnten funktionieren, wurden jedoch nicht getestet.

  • Java SE Development Kit (JDK)

    • Die erforderliche JDK-Version hängt von der Apache Maven-Version ab.

      Maven Version Minimale JDK Version
      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

Rollen-Variablen

Die folgenden Variablen ändern das Verhalten dieser Rolle (Standardwerte sind unten aufgeführt):

# Maven Versionsnummer
maven_version: '3.9.4'

# Mirror für den Download des Maven-Pakets
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Basiskinstalldirectory für die Maven-Verteilung
maven_install_dir: /opt/maven

# Verzeichnis zum Speichern der für die Maven-Installation heruntergeladenen Dateien
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Anzahl der Sekunden, die gewartet werden soll, bevor der Maven-Download abbricht
maven_download_timeout: 10

# Ob beim Download von Maven ein Proxy verwendet werden soll (wenn die Proxy-Umgebungsvariable vorhanden ist)
maven_use_proxy: true

# Ob HTTPS-Zertifikate beim Download von Maven validiert werden sollen
maven_validate_certs: true

# Wenn dies die Standardinstallation ist, werden symbolische Links zu mvn und mvnDebug in /usr/local/bin erstellt
maven_is_default_installation: true

# Name der Gruppe von Ansible-Fakten, die mit dieser Maven-Installation verbunden sind.
#
# Überschreiben, wenn Sie diese Rolle mehr als einmal verwenden möchten, um mehrere Versionen von Maven zu installieren.
#
# z.B. maven_fact_group_name: maven_3_3
# würde das Maven Home-Faktum ändern zu:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Unterstützte Maven-Versionen

Die folgenden Maven-Versionen werden ohne zusätzliche Konfiguration unterstützt (für andere Versionen folgen Sie den Anweisungen zur erweiterten Konfiguration):

  • 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

Erweiterte Konfiguration

Die folgende Rollenvariable hängt von der Maven-Version ab; um eine Maven-Version nicht von dieser Rolle vorkonfiguriert zu verwenden, müssen Sie die folgende Variable konfigurieren:

# SHA256-Checksumme für das redistributable Paket (d.h. apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Beispiel-Playbooks

Standardmäßig installiert diese Rolle die neueste von ihr unterstützte Maven-Version:

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

Sie können eine bestimmte Maven-Version installieren, indem Sie die maven_version angeben (Hinweis: Wenn die Version derzeit nicht von dieser Rolle unterstützt wird, sind zusätzliche Konfigurationen erforderlich - siehe Erweiterte Konfiguration):

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

Sie können mehrere Versionen von Maven installieren, indem Sie diese Rolle mehrmals verwenden:

- 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

Rollen-Fakten

Diese Rolle exportiert die folgenden Ansible-Fakten zur Verwendung durch andere Rollen:

  • ansible_local.maven.general.version

    • z.B. 3.3.9
  • ansible_local.maven.general.home

    • z.B. /opt/maven/apache-maven-3.3.9

Das Überschreiben von maven_fact_group_name ändert die Namen der Fakten z.B.:

maven_fact_group_name: maven_3_2

würde die Namen der Fakten ändern zu:

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

Verwandte Rollen

Sie könnten die folgenden verwandten Rollen nützlich finden:

Weitere Rollen von GantSign

Sie können weitere Rollen von GantSign auf Ansible Galaxy finden.

Entwicklung & Testing

Dieses Projekt nutzt die folgenden Tools:

  • Molecule für die Orchestrierung von Testszenarien
  • Testinfra zum Testen der Änderungen auf dem Remote
  • pytest das Test-Framework
  • Tox verwaltet Python-virtuelle Umgebungen für Linting und Testing
  • pip-tools zur Verwaltung der Abhängigkeiten

Ein Visual Studio Code Dev Container wird bereitgestellt, um diese Rolle zu entwickeln und zu testen.

Lizenz

MIT

Autor-Informationen

John Freeman

GantSign Ltd. Unternehmensnummer 06109112 (registriert in England)

Über das Projekt

Role for installing Apache Maven.

Installieren
ansible-galaxy install gantsign.maven
Lizenz
mit
Downloads
304.7k
Besitzer