Comcast.sdkman
Rola Ansible: Comcast.sdkman
Rola Ansible, która wykonuje następujące funkcje:
- Instalacja SDKMAN
- Instalacja/odinstalacja oprogramowania zarządzanego przez SDKMAN kandydatów
- Ustawienie domyślnych wersji SDK
- Zarządzanie plikiem konfiguracyjnym SDKMAN:
/path/to/sdkman/etc/config
- Opróżnianie pamięci podręcznej SDKMAN
Ostrzeżenie: Oracle znacznie utrudnił instalację swoich JDK, co utrudnia instalację za pomocą SDKMAN. Rozważ użycie OpenJDK lub instalację/zarządzanie Oracle JDK w inny sposób.
Wymagania
Brak.
Zmienne Roli
Zobacz domyślne dla opisu każdej zmiennej, którą można nadpisać.
Zależności
Brak.
Przykład Playbooka
Oto przykład!
- hosts: serwery
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 }
# Użyj tej składni, jeśli chcesz, aby SDKMAN był świadomy pakietów zainstalowanych *bez* SDKMAN, np. Oracle JDK
- { 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
Dodatkowe uwagi
Jeśli chcesz pominąć kroki, które wymagają podniesienia uprawnień (tj. polecenia sudo
), ta rola oznaczyła te zadania etykietą sdkman_privilege
. Użyj flagi --skip-tags
w wierszu poleceń z tą etykietą, aby pominąć kroki, które mogły już zostać zakończone przez administratora systemu (np. instalacja pakietów systemowych).
Testowanie tej roli na systemie Alpine Linux było dużym wyzwaniem. Nowsze wersje budowy JDK (>-11) dostępne przez SDKMAN nie są kompatybilne z Alpine. Zamiast tego zaleca się instalację JDK/JRE za pomocą repozytorium pakietów apk
. Mówiąc to, obecnie nie jestem pewien, jak dobrze działają pakiety SDKMAN na Alpine. Twoje doświadczenia mogą się różnić. Ostrzegam cię.
Licencja
Informacje o autorze
An Ansible role that installs/manages SDKMAN
ansible-galaxy install Comcast.sdkman