lean_delivery.java
rozwój roli java
Podsumowanie
Ta rola Ansible ma następujące funkcje dla:
OpenJDK
- Instalacja JRE, JDK
- Dodatkowa możliwość instalacji z openjdk-fallback, repozytoriów, s3, internetu, chocolatey, źródła lokalnego.
Java Oracle:
- Instalacja JRE, JDK, Server-JRE
- Dodatkowa możliwość instalacji z s3, internetu, źródła lokalnego.
ZASTRZEŻENIE: korzystanie z dowolnej wersji tej roli oznacza, że zaakceptowałeś Umowę Licencyjną Oracle Binary Code dla Java SE.
SAPJVM
- Instalacja JDK
- Dodatkowa możliwość instalacji z sapjvm-fallback, s3, internetu, źródła lokalnego.
ZULU
- Instalacja JDK
- Dodatkowa możliwość instalacji z zulu-fallback, s3, internetu, źródła lokalnego, chocolatey.
Adoptium
- Instalacja JDK, JRE
- Dodatkowa możliwość instalacji z adoptium-fallback, repozytoriów, internetu, źródła lokalnego, s3, chocolatey.
SapMachine
- Instalacja JDK, JRE
- Dodatkowa możliwość instalacji z sapmachine-fallback, internetu, źródła lokalnego, chocolatey (tylko najnowsza wersja), s3.
Alibaba Dragonwell 8 JDK
- Instalacja JDK
- Alibaba Dragonwell 8 odpowiada OpenJDK 8 i jest kompatybilne ze standardem Java SE
- Tylko platforma Linux/x86_64
- Dodatkowa możliwość instalacji z dragonwell8-fallback, internetu, źródła lokalnego, s3.
Amazon Corretto
- Instalacja JDK 8 i 11
- Instalacja JRE 8 (tylko Amazon Linux 2)
- Dodatkowa możliwość instalacji z fallback, internetu, źródła lokalnego, s3.
Wymagania
- Wersja Ansible do instalacji: 2.7
- Obsługiwane wersje OpenJDK:
- 8
- EL 6: repozytoria, tarball
- EL 7: repozytoria, tarball
- EL 8: repozytoria, tarball
- Ubuntu bionic: repozytoria, tarball
- Debian stretch: repozytoria, tarball
- Windows: tarball
- 11
- EL 6: tarball
- EL 7: repozytoria, tarball
- Ubuntu bionic: repozytoria, tarball
- Debian stretch: tarball
- Windows: tarball
- 12
- EL 6: tarball
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 6: tarball, fallback
- EL 7: tarball, fallback
- EL 8: tarball, fallback
- Ubuntu bionic: tarball, fallback
- Debian stretch: tarball, fallback
- Windows: tarball, fallback
- 8
- Obsługiwane wersje Java Oracle:
- 7
- 8
- 11
- 12
- Obsługiwane wersje sapjvm:
- 7
- 8
- Obsługiwane wersje zulu:
- 8
- 11
- 17
- Obsługiwane wersje Adoptium:
- 8
- 11
- 12
- 13
- Obsługiwane wersje SapMachine:
- 11
- EL 7: fallback
- EL 8: fallback
- Ubuntu bionic: fallback
- Debian stretch: fallback
- Windows: chocolatey (tylko najnowsza wersja, nie obsługuje zmiennych java_minor_version), fallback
- 12
- EL 7: tarball
- EL 8: tarball
- Ubuntu bionic: tarball
- Debian stretch: tarball
- Windows: tarball
- 13
- EL 7: fallback
- EL 8: fallback
- Ubuntu bionic: fallback
- Debian stretch: fallback
- Windows: chocolatey (tylko najnowsza wersja, nie obsługuje zmiennych java_minor_version), fallback
- 11
- Obsługiwane wersje Alibaba Dragonwell:
- 8.0.0
- 8.1.1
- Obsługiwane wersje Amazon Corretto:
- 8
- 11
- Obsługiwane systemy operacyjne:
- Ubuntu
- bionic
- xenial
- trusty
- Debian
- stretch
- buster
- Amazon Linux
- Amazon Linux 2
- EL (RHEL/CentOS)
- 6
- 7
- 8
- Windows
- 10
- 2016
- 2019
- Ubuntu
Zmienne roli
java_distribution
Typ dystrybucji Java, jeden z:openjdk
(domyślny)oracle_java
sapjvm
zulu
adoptium
sapmachine
dragonwell8
corretto
Uwaga: ta zmienna jest wymagana w przypadku instalacji innej dystrybucji niż 'openjdk'.
java_package
Typ pakietu Java.Dostępne:
jdk
(domyślny)jre
transport
Źródło transportu artefaktów. Użyjfallback
(obsługiwane dystrybucje: OpenJDK, SAPJVM, Adoptium, SapMachine, ZULU, Alibaba Dragonwell, Amazon Corretto),repozytoria
(obsługiwane dystrybucje: OpenJDK, Adoptium, Amazon Corretto),local
,web
lubs3
zgodnie z wymaganiami.Dostępne:
repositories
Instalacja java z repozytoriów systemowych (yum lub apt, tylko Linux)web
Pobieranie artefaktu z niestandardowego adresu urlchocolatey
Menedżer pakietów specyficzny dla Windows (obsługiwane OpenJDK: JDK 11, 12 lub JRE 8, SapMachine, ZULU, Adoptium)local
Lokalny artefakt przechowywany na ansible master (może być używany jako cache dla innych transportów)s3
Pobieranie artefaktu z koszyka s3 (tylko klienci Linux, dla systemu Windows należy użyć innych transportów)fallback
Pobieranie artefaktów z oficjalnych stron (dostępne dla dystrybucji: openjdk, sapjvm, zulu, adoptium, sapmachine, dragonwell8, corretto).
To jest domyślna wartość dla zmiennejtransport
Uwaga Używanie transportu
s3
wymaga zainstalowania określonych pakietów na docelowym hoście:- 'botocore'
- 'boto'
- 'boto3' Te pakiety nie są zawarte w danej roli. Należy je zainstalować wcześniej.
java_tarball_install
- parametr boolowski do wyboru między instalacją tarball a pakietem. Domyślnietrue
, jeślitransport
nie jest ustawiony narepositories
.java_major_version
- główna wersja OpenJDK (8,11,17) lub oracle-java (6,7,8, 11 itd.). Domyślnie 12.java_minor_version
- wersja podrzędna oracle-java. Dla wersji8.202
podrzędna będzie202
(domyślnie). Dla OpenJDK ta zmienna nie jest potrzebna do ręcznej konfiguracji.java_arch
Architektura pakietu. (Przy instalacji OpenJDK z repozytoriów ta zmienna może być używana tylko dla RHEL)Dostępne:
x64
dla x86_64 (domyślny)i586
dla x86
java_path
Gdzie pakiet java będzie zainstalowany. Uwaga Nie używaj tej zmiennej, jeśli transport = wybrane repozytoria.Domyślne wartości zależą od dystrybucji systemu operacyjnego:
- RedHat:
/usr/java
(/usr/lib/jvm
z repozytoriów) - Debian:
/usr/lib/jvm
- Windows:
C:\Program Files\Java
- RedHat:
java_download_path
: Lokalny folder do pobierania artefaktówDomyślnie dla Linux:
/tmp
Domyślnie dla Windows:
Zmienna środowiskowa TEMP
transport_web
URI dla artefaktu http/https np. "http://my-storage.com/jdk-8u172-linux-x64.tar.gz"transport_web: "https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz"
(na przykład OpenJDK 11)transport_local
Ścieżka do lokalnego artefaktu np. "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket
- nazwa koszyka s3domyślnie:
s3_bucket
transport_s3_path
- ścieżka do folderu łatki w koszykudomyślnie:
/folder
transport_s3_aws_access_key
- klucz aws. Należy go ustawić jako parametr lub zmienna środowiskowa zgodnie z https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmldomyślnie:
{{ lookup('env','AWS_ACCESS_KEY') }}
transport_s3_aws_secret_key
- tajny klucz aws. Należy go ustawić jako parametr lub zmienna środowiskowa zgodnie z https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmldomyślnie:
{{ lookup('env','AWS_SECRET_KEY') }}
Skonfiguruj Adoptium
adoptium_impl
Implementacja Adoptiumhotspot
(domyślna)openj9
Skonfiguruj ścieżki do plików wykonywalnych
java_setup_path
- aby włączyć ustawienie ścieżki binarnej. Jeślitrue
, binaria java są dodawane do ścieżek systemowych, profil jest aktualizowany, a alternatywy są ustawiane. Jeśli ustawione nafalse
- nie zostaną dokonane żadne aktualizacje ustawień systemowych, z wyjątkiem tych wykonywanych przez scenariusze pakietów.
domyślnie:true
Skonfiguruj priorytet alternatyw
java_alternative_priority
- konfiguracja priorytetu. Przydatna, jeśli potrzebujesz ustawić niski priorytet. domyślnie: 100
Skonfiguruj politykę nielimitowaną
java_unlimited_policy_enabled
- aby zastosować politykę nielimitowanądomyślnie:
false
java_unlimited_policy_transport
Źródło transportu artefaktów. Użyjfallback
,local
,web
lubs3
dla bardziej przewidywalnych wyników.
domyślnie:fallback
Dostępne:
web
Pobieranie artefaktu z niestandardowego adresu urllocal
Lokalny artefakt przechowywany na ansible masters3
artefakt w koszyku s3
java_unlimited_policy_transport_web
URI dla artefaktu http/https np. "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_local
Ścieżka do lokalnego artefaktu np. "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket
- nazwa koszyka s3domyślnie:
s3_bucket
java_unlimited_policy_transport_s3_path
- ścieżka do folderu łatki w koszykudomyślnie:
/folder
Kilka przykładów instalacji aktualnej roli
ansible-galaxy install lean_delivery.java
Przykład Playbooka
Instalacja OpenJDK 17 z openjdk-fallback (domyślne zachowanie roli):
- name: Instalacja java openjdk
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 17
Instalacja OpenJDK 8 z repozytoriów:
- name: Instalacja java openjdk
hosts: all
roles:
- role: lean_delivery.java
transport: repositories
java_major_version: 8
Instalacja OpenJDK 11 z internetu:
- name: Instalacja java openjdk
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 11
java_tarball_install: true
transport: web
transport_web: https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
Instalacja Oracle java 8 z pliku lokalnego:
- name: Instalacja java oracle
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
transport: local
transport_local: /tmp/jdk-8u181-linux-x64.tar.gz
Instalacja Oracle java 8 z koszyka S3:
Przed zainstalowaniem należy przygotować hosta do użycia modułu aws_s3 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html#requirements
- name: Instalacja java
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
java_package: jre
java_major_version: 8
transport: s3
transport_s3_bucket: java-s3-bucket
transport_s3_path: /java/jre-8u181-linux-x64.tar.gz
Instalacja OpenJDK 11.0.2 na hoście Windows z win_chocolatey:
- name: Instalacja java
hosts: windows
roles:
- role: lean_delivery.java
java_package: jdk
transport: chocolatey
java_major_version: 11
java_minor_version: 0.2
Instalacja SAPJVM 8 z sapjvm-fallback:
- name: Instalacja sapjvm
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapjvm
transport: fallback
java_major_version: 8
Instalacja ZULU 17 z zulu-fallback:
- name: Instalacja zulu
hosts: all
roles:
- role: lean_delivery.java
java_distribution: zulu
transport: fallback
java_major_version: 17
java_package: jdk
Instalacja Adoptium 8-openj9-jre z adoptium-fallback:
- name: Instalacja Adoptium
hosts: all
roles:
- role: lean_delivery.java
java_distribution: adoptium
transport: fallback
java_package: jre
adoptium_impl: openj9
java_major_version: 8
Instalacja SapMachine sapmachine-jre-10 z sapmachine-fallback:
- name: Instalacja SapMachine
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapmachine
transport: fallback
java_package: jre
java_major_version: 10
Instalacja Alibaba Dragonwell 8 z dragonwell8-fallback:
- name: Instalacja Alibaba Dragonwell8
hosts: all
roles:
- role: lean_delivery.java
java_distribution: dragonwell8
transport: fallback
java_major_version: 8
Instalacja Amazon Corretto JDK 8 z corretto-fallback:
- name: Instalacja Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: fallback
java_major_version: 8
Instalacja Amazon Corretto JDK 11 z repozytoriów na Amazon Linux 2:
- name: Instalacja Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: repositories
java_major_version: 11
Instalacja Amazon Corretto JDK 11 na Ubuntu 18.04 z internetu:
- name: Instalacja Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: web
transport_web: https://d3pxv6yz143wms.cloudfront.net/11.0.5.10.1/amazon-corretto-11.0.5.10.1-linux-x64.tar.gz
Licencja
Apache
Informacje o autorze
autorzy:
- Zespół Lean Delivery team@lean-delivery.com
Lean Delivery Java install
ansible-galaxy install lean_delivery.java