Comcast.sdkman

Rola Ansible: Comcast.sdkman

Rola Galaxy Pobrania Licencja Apache 2.0 Status budowy

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

Apache 2.0

Informacje o autorze

Zainstaluj
ansible-galaxy install Comcast.sdkman
Licencja
apache-2.0
Pobrania
96.8k
Właściciel
Comcast brings together the best in media and technology to create the world's best entertainment and online experiences