lean_delivery.java
rol de java
Resumen
Este rol de Ansible tiene las siguientes características para:
OpenJDK
- Instalar JRE, JDK
- Oportunidad adicional para instalar desde openjdk-fallback, repositorios, s3, web, chocolatey, fuente local.
Java de Oracle:
- Instalar JRE, JDK, Server-JRE
- Oportunidad adicional para instalar desde s3, web, fuente local.
DESCARGO DE RESPONSABILIDAD: el uso de cualquier versión de este rol implica que has aceptado el Acuerdo de Licencia de Código Binario de Oracle para Java SE.
SAPJVM
- Instalar JDK
- Oportunidad adicional para instalar desde sapjvm-fallback, s3, web, fuente local.
ZULU
- Instalar JDK
- Oportunidad adicional para instalar desde zulu-fallback, s3, web, fuente local, chocolatey.
Adoptium
- Instalar JDK, JRE
- Oportunidad adicional para instalar desde adoptium-fallback, repositorios, web, fuente local, s3, chocolatey.
SapMachine
- Instalar JDK, JRE
- Oportunidad adicional para instalar desde sapmachine-fallback, web, fuente local, chocolatey (solo última versión), s3.
Alibaba Dragonwell 8 JDK
- Instalar JDK
- Alibaba Dragonwell 8 corresponde a OpenJDK 8 y es compatible con el estándar Java SE
- Solo plataforma Linux/x86_64
- Oportunidad adicional para instalar desde dragonwell8-fallback, web, fuente local, s3.
Amazon Corretto
- Instalar JDK 8 y 11
- Instalar JRE 8 (solo Amazon Linux 2)
- Oportunidad adicional para instalar desde fallback, web, fuente local, s3.
Requisitos
- Versión de Ansible para instalación: 2.7
- Versiones de OpenJDK soportadas:
- 8
- EL 6: repositorios, tarball
- EL 7: repositorios, tarball
- EL 8: repositorios, tarball
- Ubuntu bionic: repositorios, tarball
- Debian stretch: repositorios, tarball
- Windows: tarball
- 11
- EL 6: tarball
- EL 7: repositorios, tarball
- Ubuntu bionic: repositorios, 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
- Versiones de Java de Oracle soportadas:
- 7
- 8
- 11
- 12
- Versiones de SAPJVM soportadas:
- 7
- 8
- Versiones de ZULU soportadas:
- 8
- 11
- 17
- Versiones de Adoptium soportadas:
- 8
- 11
- 12
- 13
- Versiones de SapMachine soportadas:
- 11
- EL 7: fallback
- EL 8: fallback
- Ubuntu bionic: fallback
- Debian stretch: fallback
- Windows: chocolatey (solo última versión, no soporta 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 (solo última versión, no soporta variables java_minor_version), fallback
- 11
- Versiones de Alibaba Dragonwell soportadas:
- 8.0.0
- 8.1.1
- Versiones de Amazon Corretto soportadas:
- 8
- 11
- Sistemas Operativos soportados:
- 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 Rol
java_distribution
Tipo de distribución de Java, uno de:openjdk
(por defecto)oracle_java
sapjvm
zulu
adoptium
sapmachine
dragonwell8
corretto
Aviso: esta variable es obligatoria si se instala otra distribución que no sea 'openjdk'.
java_package
Tipo de paquete de Java.Disponible:
jdk
(por defecto)jre
transport
Origen del artefacto. Utilizafallback
(se soportan distribución de OpenJDK, SAPJVM, Adoptium, SapMachine, ZULU, Alibaba Dragonwell, Amazon Corretto),repositories
(se soportan distribución de OpenJDK, Adoptium, Amazon Corretto),local
,web
os3
según tus necesidades.Disponible:
repositories
Instalar java desde los repositorios del sistema (yum o apt, solo Linux)web
Obtener artefacto desde una url web personalizadachocolatey
Gestor de paquetes específico de Windows (OpenJDK soportado: JDK 11, 12 o JRE 8, SapMachine, ZULU, Adoptium)local
Artefacto local almacenado en el maestro de Ansible (puede usarse como caché para otros transportes)s3
Descargar artefacto de un bucket s3 (solo clientes Linux, para Windows usar otros transportes)fallback
obtener artefactos de sitios oficiales (disponible para distribuciones: openjdk, sapjvm, zulu, adoptium, sapmachine, dragonwell8, corretto).
Este es el valor por defecto para la variabletransport
.Aviso: usar el transporte
s3
requiere que paquetes específicos estén instalados en el host de destino:- 'botocore'
- 'boto'
- 'boto3' Estos paquetes no están incluidos en el rol dado. Debes instalarlos previamente.
java_tarball_install
- parámetro booleano para elegir entre instalación tarball y paquete. Por defecto estrue
sitransport
no esrepositories
.java_major_version
- versión principal de OpenJDK (8,11,17) o oracle-java (6,7,8, 11, etc.). Por defecto es 12.java_minor_version
- versión menor de oracle-java. Para la versión8.202
, la menor será202
(por defecto). Para OpenJDK, esta variable no necesita configurarse manualmente.java_arch
Arquitectura del paquete. (Al instalar OpenJDK desde repositorios, esta variable solo puede usarse para RHEL)Disponible:
x64
para x86_64 (por defecto)i586
para x86
java_path
Donde se instalará el paquete de java. Aviso: No utilices esta variable si se selecciona transport = repositorios.valores por defecto dependen de la distribución del SO:
- RedHat:
/usr/java
(/usr/lib/jvm
desde los repositorios) - Debian:
/usr/lib/jvm
- Windows:
C:\Program Files\Java
- RedHat:
java_download_path
: Carpeta local para descargar artefactosLinux por defecto:
/tmp
Windows por defecto:
VARIABLE de entorno TEMP
transport_web
URI para artefacto 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 por ejemplo)transport_local
Ruta para artefacto local e.g. "/tmp/jdk-8u172-linux-x64.tar.gz"transport_s3_bucket
- nombre del bucket s3por defecto:
s3_bucket
transport_s3_path
- ruta a la carpeta de parches en el bucketpor defecto:
/folder
transport_s3_aws_access_key
- clave aws. Necesita ser configurada como parámetro o como variables de entorno según https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlpor defecto:
{{ lookup('env','AWS_ACCESS_KEY') }}
transport_s3_aws_secret_key
- clave secreta aws. Necesita ser configurada como parámetro o como variables de entorno según https://docs.ansible.com/ansible/latest/modules/aws_s3_module.htmlpor defecto:
{{ lookup('env','AWS_SECRET_KEY') }}
Configurar Adoptium
adoptium_impl
Implementación de Adoptiumhotspot
(por defecto)openj9
Configurar rutas ejecutables
java_setup_path
- para habilitar la configuración de la ruta binaria. Sitrue
, los binaries de java se añaden a las rutas del sistema, el perfil se actualiza y las alternativas se configuran. Si se establece enfalse
, no se actualizarán las configuraciones del sistema excepto las realizadas por los escenarios del paquete.
por defecto:true
Configurar prioridad de alternativas
java_alternative_priority
- configuración de prioridad. Útil si necesitas una configuración de baja prioridad. por defecto: 100
Configurar política ilimitada
java_unlimited_policy_enabled
- para aplicar política ilimitadapor defecto:
false
java_unlimited_policy_transport
Transporte de origen del artefacto. Utilizafallback
,local
,web
os3
para un resultado más predecible.
por defecto:fallback
Disponible:
web
Obtener artefacto desde una url web personalizadalocal
Artefacto local almacenado en el maestro de Ansibles3
artefacto en el bucket s3
java_unlimited_policy_transport_web
URI para artefacto http/https e.g. "http://my-storage.com/jce_policy-8.zip"java_unlimited_policy_transport_local
Ruta para artefacto local e.g. "/tmp/jce_policy-8.zip"java_unlimited_policy_transport_s3_bucket
- nombre del bucket s3por defecto:
s3_bucket
java_unlimited_policy_transport_s3_path
- ruta a la carpeta de parches en el bucketpor defecto:
/folder
Algunos ejemplos de la instalación del rol actual
ansible-galaxy install lean_delivery.java
Ejemplo de Playbook
Instalando OpenJDK 17 desde openjdk-fallback (comportamiento predeterminado del rol):
- name: Instalar java openjdk
hosts: all
roles:
- role: lean_delivery.java
java_major_version: 17
Instalando OpenJDK 8 desde repositorios:
- name: Instalar java openjdk
hosts: all
roles:
- role: lean_delivery.java
transport: repositories
java_major_version: 8
Instalando OpenJDK 11 desde la web:
- name: Instalar 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
Instalando Oracle Java 8 desde un archivo local:
- name: Instalar java oracle
hosts: all
roles:
- role: lean_delivery.java
java_distribution: oracle_java
transport: local
transport_local: /tmp/jdk-8u181-linux-x64.tar.gz
Instalando Oracle Java 8 desde un bucket S3:
Antes de instalar, debes preparar el host para usar el módulo aws_s3 https://docs.ansible.com/ansible/latest/modules/aws_s3_module.html#requirements
- name: Instalar 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
Instalando OpenJDK 11.0.2 en un host de Windows con win_chocolatey:
- name: Instalar java
hosts: windows
roles:
- role: lean_delivery.java
java_package: jdk
transport: chocolatey
java_major_version: 11
java_minor_version: 0.2
Instalando SAPJVM 8 desde sapjvm-fallback:
- name: Instalar sapjvm
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapjvm
transport: fallback
java_major_version: 8
Instalando ZULU 17 desde zulu-fallback:
- name: Instalar zulu
hosts: all
roles:
- role: lean_delivery.java
java_distribution: zulu
transport: fallback
java_major_version: 17
java_package: jdk
Instalando Adoptium 8-openj9-jre desde adoptium-fallback:
- name: Instalar Adoptium
hosts: all
roles:
- role: lean_delivery.java
java_distribution: adoptium
transport: fallback
java_package: jre
adoptium_impl: openj9
java_major_version: 8
Instalando SapMachine sapmachine-jre-10 desde sapmachine-fallback:
- name: Instalar SapMachine
hosts: all
roles:
- role: lean_delivery.java
java_distribution: sapmachine
transport: fallback
java_package: jre
java_major_version: 10
Instalando Alibaba Dragonwell 8 desde dragonwell8-fallback:
- name: Instalar Alibaba Dragonwell8
hosts: all
roles:
- role: lean_delivery.java
java_distribution: dragonwell8
transport: fallback
java_major_version: 8
Instalando Amazon Corretto JDK 8 desde corretto-fallback:
- name: Instalar Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: fallback
java_major_version: 8
Instalando Amazon Corretto JDK 11 desde el repositorio en Amazon Linux 2:
- name: Instalar Amazon Corretto
hosts: all
roles:
- role: lean_delivery.java
java_distribution: corretto
transport: repositories
java_major_version: 11
Instalando Amazon Corretto JDK 11 en Ubuntu 18.04 desde la web:
- name: Instalar 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
Licencia
Apache
Información del Autor
autores:
- Lean Delivery Team team@lean-delivery.com
Lean Delivery Java install
ansible-galaxy install lean_delivery.java