gilcot.ojdk

Open Java Development Kit

Ta rola służy do zarządzania Open Java Development Kit (OpenJDK) w większości systemów operacyjnych.

OpenJDK to darmowa i otwarto źródłowa referencyjna implementacja platformy Java, Standard Edition (J2SE), zgodnie z definicją Java Community Process (JCP). Jest objęty licencją GNU General Public License wersja 2 z wyjątkiem linkowania i zawiera: maszynę wirtualną HotSpot (JVM) oraz javac (oficjalny kompilator Sun, nie: ECJ, GCJ, Jikes itp.)

Jako że jest to implementacja referencyjna, zapewnia oczekiwaną wspólną bazę (inne implementacje mogą dodawać klasy lub nie tylko J2SE...) Istnieją więc pewne drobne różnice z Oracle JDK jak również w modelu wydania i płatnym wsparciu.

Rozpoczęcie

Ta sekcja dotyczy wstępnych ustawień, aby rola działała.

Wymagania

Ta rola nie zależy od żadnej innej roli.

Ta rola korzysta z menedżera pakietów natywnego dla dystrybucji i skonfigurowanych repozytoriów.

Ta rola działa dla dystrybucji, dla których jest dostępna wersja (zobacz na przykład https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms dla niemal pełnej i aktualnej listy). Należy również zauważyć, że dostępne wersje mogą się różnić w zależności od głównej wersji twojej dystrybucji, a numeracja również się różni.

v6 v7 v8 v9 v10 v11 v12 Wydanie dystrybucji
7 8 Alpine 3.3 / 3.4 / 3.5 / 3.6 / 3.7 / 3.8 / 3.9
7 8 9 Alpine edge
1.6.0 1.7.0 1.8.0 ALT Linux Sisyphus
7 8 10 Arch Linux
1.6.0 1.7.0 1.8.0 CentOS 6
1.6.0 1.7.0 1.8.0 11 CentOS 7
6 7 Debian 7 (Wheezy)
7 Debian 8 (Jessie)
8 Debian 9 (Stretch)
8 11 Debian 10 (Buster)
8 11 12 Debian Sid
1.8.0 9 11 ... Fedora 27 / 28
1.8.0 ... 11 ... Fedora 29 / Rawhide
(port) (+port) 8 (+port) FreeBSD 10
(port) (+port) 8 (+port) 11 FreeBSD 11 / 12
1.7.0 Mageia 4.1
1.8.0 Mageia 5.1 / 6.1 / Caudron
7 8 NetBSD 7.0 / 7.1 / 7.2
8 NetBSD 8.0
1.7.0 1.8.0 9 10 11 12 OpenMandriva Cooker
1.6.0 1.7.0 OpenMandriva Lx 2013.0
1.6.0 1.7.0 1.8.0 OpenMandriva Lx 2014.2
1.7.0 1.8.0 OpenMandriva Lx 3.0
1_8_0 10 11 openSUSE Leap 15.0
1_7_0 1_8_0 openSUSE Leap 42.3
1_8_0 9 10 11 openSUSE Tumbleweed
1.6.0 ROSA 2012.1 / Entreprise Desktop
1.7.0 ROSA 2014.1
1.8.0 ROSA 2016.1
(7-)7 8 Slackware 14.1/14.0/13.37/Current
6-6 (7-)7 (8-)8 9-9 Slackware 14.2
6 7 Ubuntu 14.04 LTS (Trusty Thar)
8 9 Ubuntu 16.04 LTS (Xenial Xerus)
8 11 Ubuntu 18.04 LTS (Bionic Beaver) / 18.10 (Cosmic Cuttlefish)

Instalacja

Utwórz lub dodaj do pliku zależności roli te linijki:

- src: http://github.com/gilcot/ansible-ojdk.git
  scm: git
  version: 1.0.0
  name: openjdk
- src: gilcot.openjdk
  version: 1.0.0
  name: openjdk

Używając tego pliku, zainstaluj rolę na swoim hoście kontrolnym:

# $roles to ścieżka do folderu ról, jeśli nie używasz domyślnego
# $specs to plik wymagań stworzony wcześniej
# ostatnia opcja wymusza nadpisanie, przydatne do zapewnienia zmiany wersji
ansible-galaxy install -p $roles -r $specs -f

Używanie

Ta sekcja dotyczy integracji roli w swoich playbookach.

Zmienne

Ta rola używa bardzo niewielu zmiennych:

ojdk_version

To wersja JDK, którą należy zainstalować.
Uwaga, to nie jest ani wersja pakietu, ani numer w nazwie pakietu! Zobacz tabelę powyżej
Ta wartość jest obowiązkowa i musi być liczbą całkowitą.

ojdk_state

To pożądany stan ; jest to zatem obowiązkowe. Może przyjmować wartości:

  • present, aby zainstalować pakiet, jeśli nie jest jeszcze zainstalowany,
  • absent, aby usunąć pakiet, jeśli nadal jest obecny,
  • wszystkie inne wartości akceptowane przez podległy moduł (np. latest, aby zaktualizować pakiet do najnowszej poprawki.)

ojdk_gpg_uncheck

To wartość logiczna (no/false lub yes/true), używana z niektórymi menedżerami pakietów w celu wyłączenia kontroli podpisów/certyfikatów. Może to być przydatne, aby wyłączyć taką kontrolę w niektórych rzadkich przypadkach.

ojdk_repository

To ostatnie jest używane przez kilka menedżerów pakietów, aby ustawić dodatkowe repozytorium. Format tekstowy (URL lub ścieżka) jest uzależniony od systemu operacyjnego.

Dystrybucja Obowiązkowe Używane do
AIX ścieżka z pakietami AIX (wymagane do instalacji)
Debian based URL do alternatywnego repozytorium, w którym można znaleźć pożądaną wersję OpenJDK
FreeBSD zastąpienie domyślnego katalogu źródłowego portów (pakiet jest budowany ze źródeł, ponieważ nie ma domyślnie dostępnego binarnego)
HP-UX repozytorium, z którego instalujemy lub aktualizujemy pakiet
Mac OSX absolutna ścieżka do pliku pakietu
OpenBSD zastąpienie domyślnego katalogu źródłowego portów (pakiet jest budowany ze źródeł, ponieważ nie ma domyślnie dostępnego binarnego)
Red Hat based URL do alternatywnego repozytorium, w którym można znaleźć pożądaną wersję OpenJDK
Solaris lokalizacja do instalacji pakietu (musi być akceptowalną ścieżką dla pkgadd lub prawidłową ścieżką repozytorium z definicją znalezioną w /etc/opt/csw/pkgutil.conf)
Windows albo absolutna ścieżka do pliku pakietu, albo alternatywny URL do Chocolatey, lub ścieżka do folderu z plikami .nupkg

Należy zauważyć, że w przypadku niektórych dystrybucji, takich jak CentOS i Ubuntu, może być użyteczne dodanie repozytorium (handlowo lub w poprzednim zadaniu) przed wywołaniem tej roli. Ten parametr wykonuje bardzo podstawowe ustawienia.

Warunki

Ponieważ dodaje lub usuwa pakiety z systemu, używane są uprawnienia escalacji i musisz odpowiednio wywołać tę rolę.

Ta rola wykorzystuje również fakty o rodzinie systemu operacyjnego i dystrybucji (nazwa i główna wersja). Więc pozwól na zbieranie faktów lub dostarcz je w taki czy inny sposób.

Przykłady

Teraz jesteś gotowy, aby go używać w swoich playbookach.
Pamiętaj, że operacje powinny być wykonywane jako użytkownik root (to dlatego w poniższych przykładach wykorzystywane są uprawnienia escalacji).

Aby zainstalować (domyślny stan) JDK12 na mojej grupie serwletów:

- hosts: servlets
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 12 }

Aby usunąć JDK5 (przykład, ponieważ to nie istnieje) na hoście dummy:

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - { role: openjdk, ojdk_version: 5, ojdk_state: absent }

(to samo, używając czystej składni YAML)

- hosts: dummy
  become: yes
  gather_facts: yes
  roles:
    - role: openjdk
      ojdk_version: 5
      ojdk_state: absent

Dobrze, jeśli Twój inwentarz kontrolera wygląda tak:

[dummies]
dummy

[olders]
foo
bar

[newers]
baz
qix

[servlets:children]
olders
newers

[dummies:vars]
ojdk_version = 5
ojdk_state = absent

[olders:vars]
ojdk_version = 8

[newers:vars]
ojdk_version = 11

[servlets:vars]
ojdk_state = present

Wtedy Twój playbook staje się po prostu:

- hosts: dummy
  become: yes
  roles:
    - openjdk

Różności

Status budowy

Licencja

Ta rola jest objęta prawami autorskimi na zasadzie GNU GPLv3 (zobacz plik LICENSE)

Autorzy

gilcot jest gorącym zwolennikiem wolnego oprogramowania i tylko przysięga na system Ansible do wdrożeń.

Wkład

  • Oceń tę rolę na Ansible Galaxy
  • Zgłoś problemy, aby pomóc w jej poprawie
  • Zgłoś prośby o scalanie kodu
  • Podziękuj autorowi lub autorom za pomocą:
O projekcie

Ansible role to manage OpenJDK package

Zainstaluj
ansible-galaxy install gilcot.ojdk
Licencja
gpl-3.0
Pobrania
111
Właściciel