gantsign.maven

Ansible Rola: Maven

Testy Ansible Galaxy Licencja

Rola do instalacji narzędzia budującego Apache Maven.

Wymagania

  • Ansible Core >= 2.12

  • Dystrybucja Linuxa

    • Rodzina Debian

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • Rodzina SUSE

      • openSUSE

        • 15.2
    • Uwaga: inne wersje mogą działać, ale nie były testowane.

  • Java SE Development Kit (JDK)

    • Wymagana wersja JDK zależy od wersji Apache Maven

      Wersja Maven Minimalna wersja 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

Zmienne Roli

Poniższe zmienne zmieniają działanie tej roli (domyślne wartości pokazane poniżej):

# Numer wersji Maven
maven_version: '3.9.4'

# Lustro do pobrania pakietu Maven
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Główny katalog instalacji dla dystrybucji Maven
maven_install_dir: /opt/maven

# Katalog, w którym będą przechowywane pliki pobrane do instalacji Maven
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Liczba sekund na czekanie przed wygaśnięciem pobierania Maven
maven_download_timeout: 10

# Czy używać proxy podczas pobierania Maven (jeśli zmienna środowiskowa proxy jest obecna)
maven_use_proxy: true

# Czy weryfikować certyfikaty HTTPS podczas pobierania Maven
maven_validate_certs: true

# Jeśli jest to domyślna instalacja, zostaną utworzone dowiązania symboliczne do mvn i mvnDebug
# w /usr/local/bin
maven_is_default_installation: true

# Nazwa grupy faktów Ansible związanych z tą instalacją Maven.
#
# Nadpisz, jeśli chcesz używać tej roli więcej niż raz do instalacji wielu wersji
# Maven.
#
# np. maven_fact_group_name: maven_3_3
# zmieni fakt dotyczący Maven na:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Obsługiwane wersje Maven

Poniższe wersje Maven są obsługiwane bez dodatkowej konfiguracji (dla innych wersji postępuj zgodnie z instrukcjami dotyczącymi zaawansowanej konfiguracji):

  • 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

Zaawansowana Konfiguracja

Poniższa zmienna roli zależy od wersji Maven; aby użyć wersji Maven nieprekonfigurowanej przez tę rolę, musisz skonfigurować poniższą zmienną:

# Suma SHA256 dla pakietu redistribuowalnego (tj. apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Przykładowe Playbooki

Domyślnie ta rola zainstaluje najnowszą wersję Maven obsługiwaną przez tę rolę:

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

Możesz zainstalować konkretną wersję Maven, określając maven_version (uwaga: jeśli wersja nie jest obecnie obsługiwana przez tę rolę, wymagana będzie dodatkowa konfiguracja - zobacz Zaawansowana Konfiguracja):

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

Możesz zainstalować wiele wersji Maven, używając tej roli więcej niż raz:

- hosts: serwery
  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

Fakty Roli

Ta rola eksportuje następujące fakty Ansible do używania przez inne role:

  • ansible_local.maven.general.version

    • np. 3.3.9
  • ansible_local.maven.general.home

    • np. /opt/maven/apache-maven-3.3.9

Nadpisanie maven_fact_group_name zmieni nazwy faktów np.:

maven_fact_group_name: maven_3_2

Zmieniłoby nazwę faktów na:

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

Pokrewne Role

Możesz znaleźć następujące pokrewne role przydatne:

Więcej Ról od GantSign

Możesz znaleźć więcej ról od GantSign na Ansible Galaxy.

Rozwój i Testowanie

Ten projekt wykorzystuje następujące narzędzia:

  • Molecule do organizowania scenariuszy testowych
  • Testinfra do testowania zmian na zdalnym
  • pytest jako ramy testowe
  • Tox zarządza wirtualnymi środowiskami Python do lintingu i testowania
  • pip-tools do zarządzania zależnościami

Zaprojektowano również Visual Studio Code Dev Container dla rozwoju i testowania tej roli.

Licencja

MIT

Informacje o Autorze

John Freeman

GantSign Ltd. Numer firmy 06109112 (zarejestrowana w Anglii)

O projekcie

Role for installing Apache Maven.

Zainstaluj
ansible-galaxy install gantsign.maven
Licencja
mit
Pobrania
304.7k
Właściciel