lean_delivery.java
Rôle Java
Résumé
Ce rôle Ansible a les fonctionnalités suivantes pour :
OpenJDK
- Installer JRE, JDK
- Possibilité supplémentaire d'installer à partir de openjdk-fallback, dépôts, s3, web, chocolatey, source locale.
Java Oracle :
- Installer JRE, JDK, Server-JRE
- Possibilité supplémentaire d'installer à partir de s3, web, source locale.
AVERTISSEMENT : L'utilisation de n'importe quelle version de ce rôle implique que vous avez accepté le Contrat de licence pour le code binaire Oracle pour Java SE.
SAPJVM
- Installer JDK
- Possibilité supplémentaire d'installer à partir de sapjvm-fallback, s3, web, source locale.
ZULU
- Installer JDK
- Possibilité supplémentaire d'installer à partir de zulu-fallback, s3, web, source locale, chocolatey.
Adoptium
- Installer JDK, JRE
- Possibilité supplémentaire d'installer à partir de adoptium-fallback, dépôts, web, source locale, s3, chocolatey.
SapMachine
- Installer JDK, JRE
- Possibilité supplémentaire d'installer à partir de sapmachine-fallback, web, source locale, chocolatey (dernière version seulement), s3.
Alibaba Dragonwell 8 JDK
- Installer JDK
- Alibaba Dragonwell 8 correspond à OpenJDK 8 et est compatible avec la norme Java SE
- Plateforme uniquement Linux/x86_64
- Possibilité supplémentaire d'installer à partir de dragonwell8-fallback, web, source locale, s3.
Amazon Corretto
- Installer JDK 8 et 11
- Installer JRE 8 (Amazon Linux 2 seulement)
- Possibilité supplémentaire d'installer à partir de fallback, web, source locale, s3.
Exigences
- Version d'Ansible requise : 2.7
- Versions d'OpenJDK prises en charge :
- 8
- EL 6 : dépôts, tarball
- EL 7 : dépôts, tarball
- EL 8 : dépôts, tarball
- Ubuntu bionic : dépôts, tarball
- Debian stretch : dépôts, tarball
- Windows : tarball
- 11
- EL 6 : tarball
- EL 7 : dépôts, tarball
- Ubuntu bionic : dépôts, 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
- Versions de Java Oracle prises en charge :
- 7
- 8
- 11
- 12
- Versions de SAPJVM prises en charge :
- 7
- 8
- Versions de ZULU prises en charge :
- 8
- 11
- 17
- Versions d'Adoptium prises en charge :
- 8
- 11
- 12
- 13
- Versions de SapMachine prises en charge :
- 11
- EL 7 : fallback
- EL 8 : fallback
- Ubuntu bionic : fallback
- Debian stretch : fallback
- Windows : chocolatey (dernière version seulement, ne prend pas en charge les variables 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 (dernière version seulement, ne prend pas en charge les variables java_minor_version), fallback
- 11
- Versions d'Alibaba Dragonwell prises en charge :
- 8.0.0
- 8.1.1
- Versions d'Amazon Corretto prises en charge :
- 8
- 11
- Systèmes d'exploitation pris en charge :
- Ubuntu
- bionic
- xenial
- trusty
- Debian
- stretch
- buster
- Amazon Linux
- Amazon Linux 2
- EL (RHEL/CentOS)
- 6
- 7
- 8
- Windows
- 10
- 2016
- 2019
- Ubuntu
Variables de rôle
java_distribution
Type de distribution Java, l'un des suivants :openjdk
(par défaut)oracle_java
sapjvm
zulu
adoptium
sapmachine
dragonwell8
corretto
Remarque : cette variable est obligatoire pour l'installation d'autres distributions que 'openjdk'.
java_package
Type de paquet Java.Disponible :
jdk
(par défaut)jre
transport
Source du transport d'artefacts. Utilisezfallback
(les distributions OpenJDK, SAPJVM, Adoptium, SapMachine, ZULU, Alibaba Dragonwell, Amazon Corretto sont prises en charge),repositories
(les distributions OpenJDK, Adoptium, Amazon Corretto sont prises en charge),local
,web
ous3
selon vos besoins.Disponible :
repositories
Installation de Java depuis les dépôts système (yum ou apt, uniquement sous Linux)web
Récupération d'artefacts à partir d'une URL web personnaliséechocolatey
Gestionnaire de paquets spécifique à Windows (OpenJDK pris en charge : JDK 11, 12 ou JRE 8, SapMachine, ZULU, Adoptium)local
Artefact local stocké sur l'Ansible master (peut être utilisé comme cache pour d'autres transports)s3
Téléchargement d'artefacts à partir d'un bucket s3 (uniquement pour les clients Linux, pour Windows veuillez utiliser d'autres transports)fallback
récupération d'artefacts à partir de sites officiels (disponible pour les distributions : openjdk, sapjvm, zulu, adoptium, sapmachine, dragonwell8, corretto).
C'est la valeur par défaut pour la variabletransport
.Remarque : l'utilisation du transport
s3
nécessite que des paquets spécifiques soient installés sur l'hôte cible :- 'botocore'
- 'boto'
- 'boto3' Ces paquets ne sont pas inclus dans le rôle fourni. Vous devez les installer au préalable.
java_tarball_install
- paramètre booléen pour choisir entre l'installation par tarball et par paquet. La valeur par défaut esttrue
sitransport
n'est pasrepositories
.java_major_version
- version majeure d'OpenJDK (8,11,17) ou oracle-java (6,7,8, 11, etc.). La valeur par défaut est 12.java_minor_version
- version mineure d'oracle-java. Pour la version8.202
, la mineure sera202
(valeur par défaut). Pour OpenJDK, cette variable n'est pas nécessaire à configurer manuellement.java_arch
Architecture du paquet. (Lors de l'installation d'OpenJDK depuis les dépôts, cette variable peut être utilisée uniquement pour RHEL)Disponible :
x64
pour x86_64 (par défaut)i586
pour x86
java_path
Emplacement où le paquet Java sera installé. Remarque : Ne pas utiliser cette variable si transport = dépôts sélectionné.Les valeurs par défaut dépendent de la distribution du système d'exploitation :
- RedHat :
/usr/java
(/usr/lib/jvm
des dépôts) - Debian :
/usr/lib/jvm
- Windows :
C:\Program Files\Java
- RedHat :
java_download_path
: Dossier local pour télécharger des artefacts.Linux par défaut :
/tmp
Windows par défaut :
variable d'environnement TEMP
transport_web
URI pour l'artefact http/https e.g. "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"
(OpenJDK 11 par exemple)transport_local
Chemin pour l'artefact local e.g. "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket
- nom du bucket s3par défaut :
s3_bucket
transport_s3_path
- chemin vers le dossier de patches dans le bucketpar défaut :
/folder
transport_s3_aws_access_key
- clé aws. Elle doit être définie comme paramètre ou variable d'environnement selon https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlpar défaut :
{{ lookup('env','AWS_ACCESS_KEY') }}
transport_s3_aws_secret_key
- clé secrète aws. Elle doit être définie comme paramètre ou variable d'environnement selon https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlpar défaut :
{{ lookup('env','AWS_SECRET_KEY') }}
Configurer Adoptium
adoptium_impl
Implementation d'Adoptiumhotspot
(par défaut)openj9
Configurer les chemins exécutables
java_setup_path
- pour activer la configuration du chemin binaire. Sitrue
, les binaires Java sont ajoutés aux chemins système, le profil est mis à jour et les alternatives sont définies. Sifalse
, aucune mise à jour des paramètres système ne sera effectuée, sauf avec les scénarios de paquet.
par défaut :true
Configurer la priorité des alternatives
java_alternative_priority
- configuration de la priorité. Utile si vous avez besoin d'une configuration à faible priorité. par défaut : 100
Configurer la politique illimitée
java_unlimited_policy_enabled
- pour appliquer la politique illimitée.par défaut :
false
java_unlimited_policy_transport
Source du transport d'artefacts. Utilisezfallback
,local
,web
ous3
pour un résultat plus prévisible.
par défaut :fallback
Disponible :
web
Récupération d'artefacts à partir d'une URL web personnaliséelocal
Artefact local stocké sur l'Ansible masters3
artefact dans le bucket s3
java_unlimited_policy_transport_web
URI pour l'artefact http/https e.g. "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_local
Chemin pour l'artefact local e.g. "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket
- nom du bucket s3par défaut :
s3_bucket
java_unlimited_policy_transport_s3_path
- chemin vers le dossier de patches dans le bucketpar défaut :
/folder
Quelques exemples d'installation de ce rôle
ansible-galaxy install lean_delivery.java
Exemple de Playbook
Installer OpenJDK 17 depuis openjdk-fallback (comportement par défaut du rôle) :
- name: Installer java openjdk
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 17
Installer OpenJDK 8 depuis les dépôts :
- name: Installer java openjdk
hosts: all
roles:
- role: lean_delivery.java
transport: repositories
java_major_version: 8
Installer OpenJDK 11 depuis le web :
- name: Installer 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
Installer Java Oracle 8 depuis un fichier local :
- name: Installer java oracle
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
transport: local
transport_local: /tmp/jdk-8u181-linux-x64.tar.gz
Installer Java Oracle 8 depuis un bucket S3 :
Avant d'installer, vous devez préparer l'hôte pour utiliser le module aws_s3 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html#requirements
- name: Installer 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
Installer OpenJDK 11.0.2 sur un hôte Windows avec win_chocolatey :
- name: Installer java
hosts: windows
roles:
- role: lean_delivery.java
java_package: jdk
transport: chocolatey
java_major_version: 11
java_minor_version: 0.2
Installer SAPJVM 8 depuis sapjvm-fallback :
- name: Installer sapjvm
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapjvm
transport: fallback
java_major_version: 8
Installer ZULU 17 depuis zulu-fallback :
- name: Installer zulu
hosts: all
roles:
- role: lean_delivery.java
java_distribution: zulu
transport: fallback
java_major_version: 17
java_package: jdk
Installer Adoptium 8-openj9-jre depuis adoptium-fallback :
- name: Installer Adoptium
hosts: all
roles:
- role: lean_delivery.java
java_distribution: adoptium
transport: fallback
java_package: jre
adoptium_impl: openj9
java_major_version: 8
Installer SapMachine sapmachine-jre-10 depuis sapmachine-fallback :
- name: Installer SapMachine
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapmachine
transport: fallback
java_package: jre
java_major_version: 10
Installer Alibaba Dragonwell 8 depuis dragonwell8-fallback :
- name: Installer Alibaba Dragonwell8
hosts: all
roles:
- role: lean_delivery.java
java_distribution: dragonwell8
transport: fallback
java_major_version: 8
Installer Amazon Corretto JDK 8 depuis corretto-fallback :
- name: Installer Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: fallback
java_major_version: 8
Installer Amazon Corretto JDK 11 depuis le dépôt sur Amazon Linux 2 :
- name: Installer Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: repositories
java_major_version: 11
Installer Amazon Corretto JDK 11 sur Ubuntu 18.04 depuis le web :
- name: Installer 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
Licence
Apache
Informations sur l'auteur
auteurs :
- Équipe Lean Delivery team@lean-delivery.com
Lean Delivery Java install
ansible-galaxy install lean_delivery.java