srsp.oracle-java

srsp.oracle-java dla Ansible Galaxy

Status budowy

Podsumowanie

Nazwa roli w Ansible Galaxy: srsp.oracle-java

Ta rola Ansible ma następujące funkcje związane z Oracle JDK:

  • Instalacja Oracle JDK w wersjach od 8 do 13.
  • Instalacja opcjonalnych Rozszerzeń Kryptografii Java (JCE). Potrzebne tylko dla wersji JDK <= 8u152.
  • Instalacja dla systemów operacyjnych CentOS, Debian/Ubuntu, SUSE oraz macOS.

Rola ta opiera się na williamyeh.oracle-java, ale chciałem nowszych wersji Java i zdecydowałem się na rezygnację z wsparcia dla starszych wersji.

Jeśli preferujesz OpenJDK, spróbuj geerlingguy.java.

Automatyczne pobieranie z Oracle

Uwaga: Dawniej ta rola pobierała wszystkie JDK bezpośrednio ze strony Oracle. Oracle stopniowo wycofał tę możliwość. Teraz nie możesz już pobrać żadnej wersji JDK 8 bez logowania się do Oracle. Dla JDK 11 możesz pobrać tylko jedną starszą wersję. Obecnie można pobrać JDK 13.

Ponieważ te zmiany odbywają się losowo za każdym razem, gdy Oracle wydaje nową wersję Java, nie powinieneś się na tym polegać. Zalecam ręczne pobranie JDK i zainstalowanie go za pomocą tej roli.

Zmienne roli

Podstawowe użycie

To spróbuje pobrać JDK z Oracle i je zainstalować.

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    # Powinieneś to ustawić:
    - java_version: 13
    # Możesz to pominąć (rola użyje najnowszej znanej wersji):
    - java_subversion: 0.2

Przykłady

Instalacja ręcznie pobranego JDK

Umieść pobrany plik JDK dla swojego systemu w katalogu files i ustaw java_download_from na local:

- hosts: all

  roles:
    - srsp.oracle-java

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

Instalacja z własnego lustrzanego odbicia

- 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"

Pobieranie JDK na lokalny komputer (prefetch)

Jeśli chcesz tylko mieć JDK na swoim lokalnym komputerze (np. w celu użycia plików do testu molekuły lub przesłania ich do firmowego lustrzanego odbicia), możesz użyć pliku prefetch.yml w tej roli:

ansible-playbook prefetch.yml

Dostosuj plik do swoich potrzeb.

Jeśli uruchamiasz z wiersza poleceń

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

Opcjonalne zmienne

Domyślne ustawienia konfigurowalne przez użytkownika:

# Wersja Java
java_version: 8

# Podwersja Java
java_subversion: 201

# Czy pobierać Java bezpośrednio z Oracle
# - oracle: Pobierz z witryny Oracle na żywo.
# - mirror: Pobierz z URL zdefiniowanego w 'java_mirror'.
# - local: Kopiuje z katalogu `files` roli lub playbooka na maszynie kontrolnej.
java_download_from: oracle

# W zależności od wartości 'java_download_from', dzieją się różne rzeczy:
# - oracle: Nie musisz tego ustawiać. Jest już wypełnione z lustrzanego odbicia pobierania Oracle.
# - mirror: Musisz ustawić lustrzane odbicie, z którego chcesz pobrać. Musisz ustawić pełny URL, w tym plik, jak w poniższym przykładzie. Jeśli również chcesz JCE, musisz ustawić 'jce_zip_url'.
# - local: 'java_mirror' nie jest używane, więc wartość jest ignorowana.
#java_mirror: "https://private-repo.com/java/jdk-8u172-macosx-x64.dmg"
java_mirror: "http://download.oracle.com/otn-pub/java"

# Usunąć tymczasowe pobrane pliki?
java_remove_download: true

# Ustawić $JAVA_HOME?
java_set_java_home: true

# Instalować JCE?
java_install_jce: false

Aby uzyskać inne opcje konfigurowalne, przeczytaj plik tasks/set-role-variables.yml; na przykład, aby zobaczyć wspierane kombinacje java_version/java_subversion.

Chcę zainstalować JDK, którego jeszcze nie wspieracie!

Nie ma problemu! Musisz określić odpowiedni numer budowy Java w zmiennych java_build i jdk_tarball_hash oprócz java_version i java_subversion, na przykład:

# plik: playbook.yml
- hosts: all

  roles:
    - srsp.oracle-java

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

Licencja

Licencjonowane na podstawie Licencji Apache V2.0. Zobacz plik LICENSE po więcej szczegółów.

Rozwój

Testowanie

Testy używają molecule. Ponieważ ta rola potrzebuje JDK z Oracle, kontenery testowe molekuły zamontują /tmp/java, aby JDK było dostępne na lokalnym komputerze, nawet po zniszczeniu kontenera testowego. Możesz również wstępnie pobrać plik instalacyjny i umieścić go w /tmp/java.

To wykona cały cykl testowy w domyślnym scenariuszu:

molecule test

Jeśli chcesz pracować nad konkretną dystrybucją, użyj czegoś takiego:

molecule converge --scenario-name opensuse15

Jeśli chcesz przetestować wszystko, wydaj:

molecule test --all

To zajmie trochę czasu.

O projekcie

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

Zainstaluj
ansible-galaxy install srsp.oracle-java
Licencja
apache-2.0
Pobrania
186.3k
Właściciel
Doing software things @holisticon