fernandrone.ansible_sdkman

Ansible Rolle: fernandrone.ansible_sdkman

Galaxy Rolle Downloads Lizenz Apache 2.0 Build-Status

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

Apache 2.0

Autorinformationen

Über das Projekt

An Ansible role that installs/manages SDKMAN

Installieren
ansible-galaxy install fernandrone.ansible_sdkman
GitHub Repository
Lizenz
apache-2.0
Downloads
75
Besitzer
YAML Engineer. Likes Go.