sdkman_init

Ansible Роль: SDKMAN инициализация

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

Роль для инициализации SDKMAN — менеджера комплектов для разработки программного обеспечения. Эта роль позволяет устанавливать определенные SDK в рамках вашей настройки Ansible и задавать, какие версии будут использоваться по умолчанию.

Важно: эта роль требует, чтобы SDKMAN уже был установлен. Вы можете использовать нашу роль gantsign.sdkman для установки SDKMAN.

Требования

  • Ansible >= 2.9

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

    • Семейство Debian

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

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

      • openSUSE

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

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

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

# SDKMAN инициализируется для каждого пользователя, поэтому вы должны указать хотя бы одного пользователя
users:
  - username: # Пользователь, для которого инициализируется SDKMAN
    sdkman_install:
      - candidate: # Название SDK, например, java
        version: # Версия SDK для установки
        path: # Необязательно. Для добавления существующей установки SDK в SDKMAN.
              # Версия существующего SDK не может совпадать ни с одной из
              # предоставленных SDKMAN. Строка версии — это просто
              # идентификатор, поэтому вы можете задать любое значение, которое вам нравится (если
              # оно не совпадает с другими версиями для этого кандидата).
    sdkman_default:
      _candidate_sdk_name_here_: # Необязательно. Версия по умолчанию

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

Это пример конфигурации для этой роли (без необходимой роли для установки SDKMAN).

- hosts: servers
  roles:
    - role: gantsign.sdkman_init
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            java: '10'
            maven: '3.5.4'

Это полный пример, который использует роль gantsign.sdkman для установки SDKMAN. Обратите внимание, как роль gantsign.sdkman_init может использоваться несколько раз с тегами Ansible для условной установки определенных SDK.

- hosts: servers
  roles:
    - role: gantsign.sdkman
      sdkman_users:
        - example_username

    - role: gantsign.sdkman_init
      tags:
        - java
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
          sdkman_default:
            java: '10'

    - role: gantsign.sdkman_init
      tags:
        - java
        - maven
      users:
        - username: example_username
          sdkman_install:
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            maven: '3.5.4'

Другие Роли от GantSign

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

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

Этот проект использует Molecule для помощи в разработке и тестировании; роль тестируется с помощью Testinfra и pytest.

Для разработки или тестирования вам нужно установить следующее:

Поскольку вышеуказанное может быть сложно установить, этот проект включает Molecule Wrapper. Molecule Wrapper — это скрипт оболочки, который устанавливает Molecule и его зависимости (кроме Linux), а затем выполняет Molecule с переданной командой.

Чтобы протестировать эту роль с помощью Molecule Wrapper, выполните следующую команду из корневой директории проекта:

./moleculew test

Примечание: некоторые зависимости требуют разрешения sudo для установки.

Лицензия

Apache 2

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

Джон Фриман

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

О проекте

Ansible role for initializing the SDKMAN software development kit manager.

Установить
ansible-galaxy install gantsign/ansible_role_sdkman_init
Лицензия
apache-2.0
Загрузки
3880
Владелец