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_distributionType de distribution Java, l'un des suivants :openjdk(par défaut)oracle_javasapjvmzuluadoptiumsapmachinedragonwell8correttoRemarque : cette variable est obligatoire pour l'installation d'autres distributions que 'openjdk'.
java_packageType de paquet Java.Disponible :
jdk(par défaut)jre
transportSource 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,webous3selon vos besoins.Disponible :
repositoriesInstallation de Java depuis les dépôts système (yum ou apt, uniquement sous Linux)webRécupération d'artefacts à partir d'une URL web personnaliséechocolateyGestionnaire de paquets spécifique à Windows (OpenJDK pris en charge : JDK 11, 12 ou JRE 8, SapMachine, ZULU, Adoptium)localArtefact local stocké sur l'Ansible master (peut être utilisé comme cache pour d'autres transports)s3Téléchargement d'artefacts à partir d'un bucket s3 (uniquement pour les clients Linux, pour Windows veuillez utiliser d'autres transports)fallbackré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
s3né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 esttruesitransportn'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_archArchitecture du paquet. (Lors de l'installation d'OpenJDK depuis les dépôts, cette variable peut être utilisée uniquement pour RHEL)Disponible :
x64pour x86_64 (par défaut)i586pour x86
java_pathEmplacement 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/jvmdes 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 :
/tmpWindows par défaut :
variable d'environnement TEMPtransport_webURI 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_localChemin pour l'artefact local e.g. "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket- nom du bucket s3par défaut :
s3_buckettransport_s3_path- chemin vers le dossier de patches dans le bucketpar défaut :
/foldertransport_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_implImplementation 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 :
falsejava_unlimited_policy_transportSource du transport d'artefacts. Utilisezfallback,local,webous3pour un résultat plus prévisible.
par défaut :fallbackDisponible :
webRécupération d'artefacts à partir d'une URL web personnaliséelocalArtefact local stocké sur l'Ansible masters3artefact dans le bucket s3
java_unlimited_policy_transport_webURI pour l'artefact http/https e.g. "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_localChemin pour l'artefact local e.g. "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket- nom du bucket s3par défaut :
s3_bucketjava_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