gantsign.sdkman_init

Rola Ansible: SDKMAN init

Testy Ansible Galaxy Licencja

Rola do inicjalizacji SDKMAN - menedżera pakietów do programowania. Ta rola pozwala na instalację konkretnych SDK jako część Twojej konfiguracji Ansible oraz ustala, które wersje powinny być używane domyślnie.

Waźne: ta rola wymaga, aby SDKMAN był już zainstalowany. Możesz użyć naszej roli gantsign.sdkman, aby zainstalować SDKMAN.

Wymagania

  • Ansible >= 2.9

  • Dystrybucja Linuxa

    • Rodzina Debian

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • Rodzina SUSE

      • openSUSE

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

Zmienne roli

Poniższe zmienne zmieniają zachowanie tej roli:

# SDKMAN jest inicjalizowany dla każdego użytkownika, więc musisz określić przynajmniej jednego użytkownika
users:
  - username: # Użytkownik, dla którego inicjalizujesz SDKMAN
    sdkman_install:
      - candidate: # Nazwa SDK, np. java
        version: # Wersja SDK do zainstalowania
        path: # Opcjonalnie. Aby dodać istniejącą instalację SDK do SDKMAN.
              # `version` dla istniejącego SDK nie może być taka sama jak
              # żadna z wersji dostarczonych przez SDKMAN. Ciąg wersji jest jedynie
              # identyfikatorem, więc możesz nadać mu dowolną wartość (o ile nie
              # koliduje z żadnymi innymi wersjami dla tego SDK).
    sdkman_default:
      _candidate_sdk_name_here_: # Opcjonalnie. Wersja domyślna

Przykładowe playbooki

Oto przykład konfiguracji dla tej roli samodzielnie (bez koniecznej roli do instalacji SDKMAN).

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

Oto pełny przykład, który używa roli gantsign.sdkman do zainstalowania SDKMAN. Zauważ, że rola gantsign.sdkman_init może być używana więcej niż jeden raz z tagami Ansible, aby warunkowo instalować konkretne SDK.

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

Inne role od GantSign

Więcej ról od GantSign znajdziesz na Ansible Galaxy.

Rozwój i testowanie

Ten projekt używa Molecule do wspierania rozwoju i testowania; rola jest testowana jednostkowo przy użyciu Testinfra oraz pytest.

Aby rozwijać lub testować, będziesz musiał zainstalować następujące:

Ponieważ powyższe może być trudne do zainstalowania, ten projekt zawiera Molecule Wrapper. Molecule Wrapper to skrypt powłoki, który instaluje Molecule i jego zależności (oprócz Linuxa) i następnie wykonuje Molecule z przekazanym poleceniem.

Aby przetestować tę rolę za pomocą Molecule Wrapper, uruchom następujące polecenie z katalogu głównego projektu:

./moleculew test

Uwaga: niektóre zależności wymagają uprawnień sudo do zainstalowania.

Licencja

Apache 2

Informacje o autorze

John Freeman

GantSign Ltd. Numer firmy 06109112 (zarejestrowana w Anglii)

O projekcie

Ansible role for initializing the SDKMAN software development kit manager.

Zainstaluj
ansible-galaxy install gantsign.sdkman_init
Licencja
apache-2.0
Pobrania
4k
Właściciel