srsp.oracle-java

srsp.oracle-java für Ansible Galaxy

Build-Status

Zusammenfassung

Rollenname in Ansible Galaxy: srsp.oracle-java

Diese Ansible-Rolle bietet folgende Funktionen im Zusammenhang mit dem Oracle JDK:

  • Installation des Oracle JDK in den Versionen 8 bis 13.
  • Installation der optionalen Java Cryptography Extensions (JCE). Nur benötigt für JDK-Versionen <= 8u152.
  • Installation für die Betriebssysteme CentOS, Debian/Ubuntu, SUSE und macOS.

Diese Rolle basiert auf williamyeh.oracle-java, aber ich wollte aktuellere Java-Versionen und habe entschieden, die Unterstützung für ältere Versionen zu streichen.

Wenn Sie OpenJDK bevorzugen, probieren Sie geerlingguy.java.

Automatischer Download von Oracle

Achtung: Früher konnte diese Rolle alle JDKs direkt von der Oracle-Seite herunterladen. Oracle hat diese Möglichkeit schrittweise eingeschränkt. Jetzt können Sie keine Version des JDK 8 mehr ohne Oracle-Login herunterladen. Für JDK 11 können Sie nur eine ältere Version herunterladen. JDK 13 kann momentan heruntergeladen werden.

Da sich dies jedes Mal ändert, wenn Oracle eine neue Java-Version veröffentlicht, sollten Sie sich nicht darauf verlassen. Ich empfehle, das JDK manuell herunterzuladen und es mit dieser Rolle zu installieren.

Rollenvariablen

Grundlegende Verwendung

Dies wird versuchen, das JDK von Oracle herunterzuladen und zu installieren.

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    # Dies sollten Sie setzen:
    - java_version: 13
    # Dies können Sie weglassen (die Rolle verwendet dann die neueste bekannte Version):
    - java_subversion: 0.2

Beispiele

Manuell heruntergeladenes JDK installieren

Legen Sie die heruntergeladene JDK-Datei für Ihr Zielsystem im Verzeichnis files ab und setzen Sie java_download_from auf local:

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 201
    - java_download_from: local

Von Ihrem Mirror installieren

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 172
    - java_download_from: mirror
    - java_mirror: "http://some.url/in/your/network/jdk-8u172-macosx-x64.dmg"

JDK auf lokalen Rechner herunterladen (pre-fetch)

Wenn Sie das JDK nur auf Ihrem lokalen Rechner haben möchten (z.B. um die Dateien für den Moleculetest zu verwenden oder um es auf Ihren Unternehmens-Intranet-Mirror hochzuladen), können Sie das prefetch.yml-Playbook in dieser Rolle verwenden:

ansible-playbook prefetch.yml

Passen Sie das Playbook nach Ihren Bedürfnissen an.

Wenn Sie direkt von der Kommandozeile aus arbeiten

ansible-playbook --ask-become-pass playbook.yml

Optionale Variablen

Benutzerkonfigurierbare Standardwerte:

# Java-Version
java_version: 8

# Java-Unterversion
java_subversion: 201

# Ob Java direkt von Oracle heruntergeladen werden soll
# - oracle: Direkt von der Oracle-Website herunterladen.
# - mirror: Von der in 'java_mirror' definierten URL herunterladen.
# - local: Kopiert aus dem Verzeichnis `files` der Rolle oder des Playbooks auf der Steuerungsmaschine.
java_download_from: oracle

# Abhängig vom Wert von 'java_download_from' passieren hier verschiedene Dinge:
# - oracle: Sie müssen es nicht setzen. Es ist mit dem Oracle-Download-Mirror vorausgefüllt.
# - mirror: Sie müssen den Mirror angeben, von dem Sie herunterladen möchten. Sie müssen die vollständige URL einschließlich der Datei angeben, wie im Beispiel unten. Wenn Sie auch das JCE wollen, müssen Sie 'jce_zip_url' ebenfalls setzen.
# - local: 'java_mirror' wird nicht verwendet, daher wird der Wert ignoriert.
#java_mirror: "https://private-repo.com/java/jdk-8u172-macosx-x64.dmg"
java_mirror: "http://download.oracle.com/otn-pub/java"

# Temporär heruntergeladene Dateien entfernen?
java_remove_download: true

# $JAVA_HOME setzen?
java_set_java_home: true

# JCE installieren?
java_install_jce: false

Für andere konfigurierbare Optionen lesen Sie die Datei tasks/set-role-variables.yml, um beispielsweise die unterstützten Kombinationen von java_version/java_subversion zu sehen.

Ich möchte ein JDK installieren, das Sie noch nicht unterstützen!

Kein Problem! Sie müssen die entsprechende Java-Build-Nummer in den Variablen java_build und jdk_tarball_hash zusätzlich zu java_version und java_subversion angeben, beispielsweise:

# Datei: playbook.yml
- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 141
    - java_build: 15
    - jdk_tarball_hash: 336fa29ff2bb4ef291e347e091f7f4a7

Lizenz

Lizenziert unter der Apache License V2.0. Siehe die LICENSE-Datei für Einzelheiten.

Entwicklung

Testen

Die Tests verwenden molecule. Da diese Rolle ein JDK von Oracle benötigt, werden die Molecule-Testcontainer /tmp/java einhängen, sodass das JDK auf dem lokalen Rechner gespeichert bleibt und auch verfügbar ist, wenn der Testcontainer gelöscht wurde. Sie können auch die Installationsdatei vorladen und nach /tmp/java legen.

Dies führt den gesamten Testzyklus gegen das Standard-Szenario aus:

molecule test

Wenn Sie an einer bestimmten Distribution arbeiten möchten, verwenden Sie so etwas wie:

molecule converge --scenario-name opensuse15

Wenn Sie alles testen möchten, geben Sie ein:

molecule test --all

Das kann eine Weile dauern.

Über das Projekt

Oracle JDK 8 to 13 for CentOS/Fedora/Debian/Ubuntu/Suse/MacOSX

Installieren
ansible-galaxy install srsp.oracle-java
Lizenz
apache-2.0
Downloads
186.3k
Besitzer
Doing software things @holisticon