gantsign.sdkman_init
Ansible Rolle: SDKMAN Initialisierung
Diese Rolle dient zur Initialisierung von SDKMAN, einem Software-Entwicklungs-Kit-Manager. Mit dieser Rolle können Sie bestimmte SDKs als Teil Ihrer Ansible-Konfiguration installieren und festlegen, welche Versionen standardmäßig verwendet werden sollen.
Wichtig: Diese Rolle erfordert, dass SDKMAN bereits installiert ist. Sie können unsere Rolle gantsign.sdkman verwenden, um SDKMAN zu installieren.
Anforderungen
Ansible >= 2.9
Linux Distribution
Debian Familie
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
RedHat Familie
Rocky Linux
- 8
Fedora
- 35
SUSE Familie
openSUSE
- 15.3
Hinweis: Andere Versionen könnten funktionieren, wurden aber nicht getestet.
Rollenvariablen
Die folgenden Variablen ändern das Verhalten dieser Rolle:
# SDKMAN wird pro Benutzer initialisiert, daher müssen Sie mindestens einen Benutzer angeben
users:
- username: # Benutzer, für den SDKMAN initialisiert werden soll
sdkman_install:
- candidate: # Name des SDK-Kandidaten z.B. java
version: # Version des zu installierenden Kandidaten
path: # Optional. Um eine vorhandene SDK-Installation zu SDKMAN hinzuzufügen.
# Die `version` für das vorhandene SDK darf nicht die gleiche sein wie
# die von SDKMAN bereitgestellten. Der Versions-String ist nur ein
# Identifier, daher können Sie ihm jeden beliebigen Wert geben (solange
# es nicht mit anderen Versionen für diesen Kandidaten in Konflikt steht).
sdkman_default:
_candidate_sdk_name_here_: # Optional. Standardversion
Beispiel Playbooks
Hier ist eine Beispielkonfiguration für diese Rolle allein (ohne die notwendige Rolle zur Installation von SDKMAN).
- hosts: servers
roles:
- role: gantsign.sdkman_init
users:
- username: beispiel_benutzername
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'
Dies ist ein vollständiges Beispiel, das die Rolle gantsign.sdkman
zur Installation von SDKMAN verwendet. Beachten Sie, dass die Rolle gantsign.sdkman_init
mehr als einmal mit Ansible-Tag verwendet werden kann, um bestimmte SDKs bedingt zu installieren.
- hosts: servers
roles:
- role: gantsign.sdkman
sdkman_users:
- beispiel_benutzername
- role: gantsign.sdkman_init
tags:
- java
users:
- username: beispiel_benutzername
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: beispiel_benutzername
sdkman_install:
- candidate: maven
version: '3.5.4'
sdkman_default:
maven: '3.5.4'
Weitere Rollen von GantSign
Sie finden weitere Rollen von GantSign auf Ansible Galaxy.
Entwicklung & Testing
Dieses Projekt verwendet Molecule zur Unterstützung bei der Entwicklung und dem Testing; die Rolle wird mit Testinfra und pytest getestet.
Um zu entwickeln oder zu testen, müssen Sie Folgendes installiert haben:
Da die Installation der oben genannten Software schwierig sein kann, enthält dieses Projekt Molecule Wrapper. Molecule Wrapper ist ein Shell-Skript, das Molecule und dessen Abhängigkeiten (außer Linux) installiert und dann Molecule mit dem übergebenen Befehl ausführt.
Um diese Rolle mit Molecule Wrapper zu testen, führen Sie den folgenden Befehl aus dem Projektstammverzeichnis aus:
./moleculew test
Hinweis: Einige der Abhängigkeiten benötigen sudo
-Berechtigungen zur Installation.
Lizenz
Apache 2
Autoreninformation
John Freeman
GantSign Ltd. Firmen-Nr. 06109112 (eingetragen in England)
Ansible role for initializing the SDKMAN software development kit manager.
ansible-galaxy install gantsign.sdkman_init