gantsign.sdkman_init
Rola Ansible: SDKMAN init
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)
Ansible role for initializing the SDKMAN software development kit manager.
ansible-galaxy install gantsign.sdkman_init