Comcast.sdkman
Ansible Rolle: Comcast.sdkman
Eine Ansible Rolle, die folgende Funktionen ausführt:
- Installiere SDKMAN
- Installiere/deinstalliere Software Kandidaten, die von SDKMAN verwaltet werden
- Setze Standardversionen für SDKs
- Verwalte die SDKMAN Konfigurationsdatei:
/path/to/sdkman/etc/config
- Leere die SDKMAN Caches
Warnung: Oracle hat es zunehmend erschwert, ihre JDKs zu installieren, was die Installation über SDKMAN behindert. Ziehe in Betracht, stattdessen OpenJDK zu verwenden oder das Oracle JDK auf andere Weise zu installieren/verwalten.
Anforderungen
Keine.
Rollenvariablen
Siehe die defaults für eine Beschreibung der variablen, die überschrieben werden können.
Abhängigkeiten
Keine.
Beispiel-Playbook
Hier ist ein Beispiel!
- hosts: server
roles:
- role: Comcast.sdkman
sdkman_user: vagrant
sdkman_group: vagrant
sdkman_auto_answer: true
sdkman_update: true
sdkman_uninstall_packages:
- { candidate: groovy, version: 1.8.9 }
sdkman_install_packages:
- { candidate: java, version: 8.0.202-zulu }
- { candidate: gradle, version: '3.5' }
- { candidate: gradle, version: 2.14.1 }
- { candidate: maven, version: 3.5.0 }
- { candidate: maven, version: 3.3.9 }
# Verwende diese Syntax, wenn SDKMAN über Pakete Bescheid wissen soll,
# die *ohne* SDKMAN installiert wurden, z. B. Oracle JDKs
- { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }
sdkman_defaults:
gradle: '3.5'
maven: 3.3.9
java: 8.0.202-zulu
sdkman_flush_caches_before:
- temp
sdkman_flush_caches_after:
- archives
- broadcast
- candidates
- temp
sdkman_offline_mode: false
sdkman_update_alternatives:
- candidate: java
name: java
link: /usr/bin/java
- candidate: java
name: javac
link: /usr/bin/javac
Zusätzliche Hinweise
Wenn Sie Schritte überspringen möchten, die eine Erhöhung der Berechtigungen erfordern (d. h. sudo
Befehle), hat diese Rolle diese Aufgaben mit dem Tag sdkman_privilege
versehen.
Übergeben Sie das Flag --skip-tags
in der Befehlszeile mit diesem Tag, um
Schritte zu umgehen, die möglicherweise bereits von Ihrem Systemadministrator
abgeschlossen wurden (z. B. Installation von Systempaketen).
Die Tests dieser Rolle mit Alpine Linux waren eine große Herausforderung. Die neueren
JDK-Versionen (>-11), die über SDKMAN verfügbar sind, sind nicht mit Alpine kompatibel.
Es wird empfohlen, ein JDK/JRE über das apk
-Paketrepository zu installieren.
Das gesagt, ich bin mir derzeit unsicher, wie gut SDKMAN-Pakete auf Alpine funktionieren.
Ihre Erfahrungen können variieren. Sie wurden gewarnt.
Lizenz
Autoreninformationen
An Ansible role that installs/manages SDKMAN
ansible-galaxy install Comcast.sdkman