fernandrone.ansible_sdkman
Ansible Rolle: fernandrone.ansible_sdkman
Eine Ansible-Rolle, die folgende Funktionen ausführt:
- Installiert SDKMAN
- Installiert/deinstalliert von SDKMAN verwaltete Software Kandidaten
- Setzt Standardversionen für SDKs
- Verwalten der SDKMAN-Konfigurationsdatei:
/path/to/sdkman/etc/config
- Leeren der SDKMAN-Caches
Warnung: Oracle hat es zunehmend erschwert, ihre JDKs zu installieren, was die Installation über SDKMAN behindert hat. Erwägen Sie stattdessen die Verwendung von OpenJDK oder die Installation/Verwaltung des Oracle JDK auf andere Weise.
Anforderungen
Keine.
Rollenvariablen
Siehe die Standards für eine Beschreibung jeder überschreibbaren Variable.
Abhängigkeiten
Keine.
Beispiel-Playbook
Hier ist ein Beispiel!
- hosts: servers
roles:
- role: fernandrone.ansible_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 }
# Verwenden Sie diese Syntax, wenn Sie möchten, dass SDKMAN über Pakete Bescheid weiß, 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
sdkman_fix_permissions: false
Zusätzliche Hinweise
Wenn Sie Schritte überspringen möchten, die eine Berechtigungssteigerung erfordern (d.h. sudo
Befehle), hat diese Rolle diese Aufgaben mit dem Tag sdkman_privilege
versehen.
Verwenden Sie das --skip-tags
Flag in der Befehlszeile mit diesem Tag, um
Schritte zu umgehen, die möglicherweise bereits von Ihrem Systemadministrator
ausgeführt wurden (z.B. Installation von Systempaketen).
Die Tests dieser Rolle mit Alpine Linux waren schwierig. Die neueren JDK-Bauten (>-11),
die über SDKMAN verfügbar sind, sind nicht mit Alpine kompatibel. Stattdessen wird
empfohlen, ein JDK/JRE über das apk
-Paket-Repository zu installieren. Das gesagt, bin ich mir derzeit unsicher, wie gut SDKMAN-Pakete auf Alpine laufen. Ihr Erlebnis kann variieren. Sie wurden gewarnt.
Lizenz
Autorinformationen
An Ansible role that installs/manages SDKMAN
ansible-galaxy install fernandrone.ansible_sdkman