maven

Роль Ansible: Maven

Тесты Ansible Galaxy Лицензия

Роль для установки инструмента сборки Apache Maven.

Требования

  • Ansible Core >= 2.12

  • Дистрибутив Linux

    • Семейство Debian

      • Debian

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

        • Bionic (18.04)
        • Focal (20.04)
    • Семейство RedHat

      • Rocky Linux

        • 8
      • Fedora

        • 34
    • Семейство SUSE

      • openSUSE

        • 15.2
    • Примечание: другие версии, скорее всего, тоже будут работать, но не были протестированы.

  • Java SE Development Kit (JDK)

    • Необходимая версия JDK зависит от версии Apache Maven

      Версия Maven Минимальная версия 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

Переменные роли

Следующие переменные изменят поведение этой роли (значения по умолчанию указаны ниже):

# Номер версии Maven
maven_version: '3.9.4'

# Зеркало для загрузки распаковываемого пакета Maven
maven_mirror: "http://archive.apache.org/dist/maven/maven-{{ maven_version|regex_replace('\\..*', '') }}/{{ maven_version }}/binaries"

# Основной каталог установки дистрибутива Maven
maven_install_dir: /opt/maven

# Каталог для хранения файлов, загруженных для установки Maven
maven_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Время в секундах, за которое загрузка Maven завершится
maven_download_timeout: 10

# Использовать ли прокси при загрузке Maven (если переменная окружения прокси присутствует)
maven_use_proxy: true

# Проверять ли сертификаты HTTPS при загрузке Maven
maven_validate_certs: true

# Если это стандартная установка, будут созданы символические ссылки на mvn и mvnDebug в /usr/local/bin
maven_is_default_installation: true

# Имя группы фактов Ansible, относящихся к этой установке Maven.
#
# Переопределите, если хотите использовать эту роль несколько раз для установки разных версий
# Maven.
#
# Например, maven_fact_group_name: maven_3_3
# изменит факт домашнего каталога Maven на:
# ansible_local.maven_3_2.general.home
maven_fact_group_name: maven

Поддерживаемые версии Maven

Следующие версии Maven поддерживаются без дополнительных конфигураций (для других версий следуйте инструкциям по расширенной настройке):

  • 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

Расширенная настройка

Следующая переменная роли зависит от версии Maven; чтобы использовать версию Maven не преднастроенную этой ролью, вы должны настроить переменную ниже:

# SHA256 сумма для распаковываемого пакета (т.е. apache-maven-{{ maven_version }}-bin.tar.gz)
maven_redis_sha256sum: '6e3e9c949ab4695a204f74038717aa7b2689b1be94875899ac1b3fe42800ff82'

Примеры плейбуков

По умолчанию эта роль установит последнюю поддерживаемую версию Maven:

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

Вы можете установить конкретную версию Maven, указав maven_version (замечание: если такая версия не поддерживается этой ролью, то потребуется дополнительная конфигурация - смотрите Расширенная настройка):

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

Вы можете установить несколько версий Maven, используя эту роль несколько раз:

- 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

Факты роли

Эта роль экспортирует следующие факты Ansible для использования другими ролями:

  • ansible_local.maven.general.version

    • Например, 3.3.9
  • ansible_local.maven.general.home

    • Например, /opt/maven/apache-maven-3.3.9

Переопределение maven_fact_group_name изменит имена фактов, например:

maven_fact_group_name: maven_3_2

Изменит имена фактов на:

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

Связанные роли

Вы можете найти полезными следующие связанные роли:

Больше ролей от GantSign

Вы можете найти больше ролей от GantSign на Ansible Galaxy.

Разработка и тестирование

Этот проект использует следующие инструменты:

  • Molecule для организации сценариев тестирования
  • Testinfra для тестирования изменений на удаленном сервере
  • pytest - тестовая система
  • Tox управляет виртуальными окружениями Python для линтинга и тестирования
  • pip-tools для управления зависимостями

Предоставляется контейнер разработки Dev Container для разработки и тестирования этой роли.

Лицензия

MIT

Информация об авторе

Джон Фриман

GantSign Ltd. Номер компании 06109112 (зарегистрирована в Англии)

О проекте

Role for installing Apache Maven.

Установить
ansible-galaxy install gantsign/ansible-role-maven
Лицензия
mit
Загрузки
273240
Владелец