idealista.java_role
Rol de Ansible para Java
Este rol de Ansible instala JDKs de diferentes proveedores (OpenJDK, AdoptOpenJDK y Corretto) en un entorno Debian/Ubuntu o CentOS.
Introducción
Estas instrucciones te permitirán obtener una copia del rol para tu playbook de Ansible.
Una vez ejecutado, instalará Java utilizando paquetes de Debian o RHEL.
Requisitos previos
Para usar este rol como dependencia en tu playbook, se requiere lo siguiente:
Tener instalada una versión de Ansible >=2.9.0. El destino del inventario debe ser un entorno Debian/Ubuntu o CentOS.
Para fines de prueba, necesitarás Python 3.7+, Pipenv.
Instalación
Crea o agrega a tu archivo de dependencias de roles (por ejemplo, requirements.yml):
- src: http://github.com/idealista/java_role.git
scm: git
version: 7.0.0
name: java
o usando Ansible Galaxy como origen si prefieres:
- src: idealista.java_role
version: 7.0.0
name: java
Alternativamente, puedes encontrar imágenes Docker etiquetadas para Debian Stretch y Buster, Ubuntu Xenial, Bionic y Focal, y CentOS 7 y 8 en Docker Hub.
Instala el rol con el comando ansible-galaxy:
$ ansible-galaxy install -p roles -r requirements.yml -f
Úsalo en un playbook:
---
- hosts: someserver
roles:
- java
Uso
Docker Hub
Publicamos cada versión del rol como una imagen Docker en Docker Hub: https://hub.docker.com/r/idealista/jdk.
Puedes descargar nuestras imágenes ejecutando:
docker pull idealista/jdk:${JDK_VERSION}-${DOCKER_IMAGE_BASE}-${JDK_VENDOR}headless)
JDK_VERSION:
Versión preferida de JDK.
DOCKER_IMAGE
: Actualmente soportamos: stretch
/buster/bullseye
para elegir entre versiones de Debian, xenial
/bionic
/focal
para elegir entre versiones de Ubuntu, y 7
/8
para seleccionar una versión de CentOS.
JDK_VENDOR
: Actualmente soportamos openjdk
/adoptopenjdk
/corretto
Por ejemplo:
docker pull idealista/jdk:8u191-xenial-openjdk-headless
Puedes consultar la lista de versiones (etiquetas) en Docker Hub
Ansible
OpenJDK
Se debe seleccionar una versión específica de OpenJDK sobrescribiendo la variable java_open_jdk_version_major
usando variables de grupo/host:
Sistema Operativo | Versión principal de OpenJDK |
---|---|
Debian Stretch | 8 (por defecto) |
Debian Stretch | 11 |
Debian Buster | 11 (por defecto) |
Debian Bullseye | 17 |
Debian Bullseye | 11 (por defecto) |
Debian Bookworm | 17 |
Debian Bookworm | 17 (por defecto) |
Ubuntu Xenial | 8 |
Ubuntu Xenial | 9 (por defecto) |
Ubuntu Bionic | 8 |
Ubuntu Bionic | 11 (por defecto) |
Ubuntu Focal | 8 |
Ubuntu Focal | 11 |
Ubuntu Focal | 17 (por defecto) |
Ubuntu Jammy | 11 |
Ubuntu Jammy | 17 (por defecto) |
CentOS 7 | 1.6.0 |
CentOS 7 | 1.7.0 |
CentOS 7 | 1.8.0 |
CentOS 7 | 11 (por defecto) |
CentOS 8 | 1.8.0 |
CentOS 8 | 11 (por defecto) |
Otras implementaciones de OpenJDK que no están en las distribuciones de GNU/Linux no son oficialmente soportadas, pero es fácil usar este rol también añadiendo repositorios adicionales (ver vars/ en los directorios AdoptOpenJDK/Temurin y Corretto).
Añadiendo certificados al almacén de confianza de Java
Este rol permite añadir certificados al almacén de confianza de Java. La ubicación del almacén de confianza puede cambiar dependiendo de la versión de Java:
- Ubicación del almacén de confianza para Java 9 en adelante: $JAVA_HOME/lib/security/cacerts
- Ubicación del almacén de confianza para Java anteriores a 9: $JAVA_HOME/jre/lib/security/cacerts
Se debe seleccionar una ubicación específica del almacén de confianza sobrescribiendo la variable java_keystore_dir
usando variables de grupo/host. Además, debes establecer qué certificados deseas añadir configurando la variable java_certs
y la contraseña del almacén de confianza configurando java_cert_keystore_pass
.
Pruebas
$ pipenv sync
$ DOCKER_IMAGE_BASE=(debian:stretch-slim|debian:buster-slim|debian_bullseye-slim|amd64/ubuntu:xenial|amd64/ubuntu:bionic|amd64/ubuntu:focal|centos:7|centos:8) JDK_VENDOR=(`java_jdk_version` openjdk|adoptopenjdk|corretto) JDK_MAJOR=(`java_open_jdk_version_major` ver [.travis.yml](.travis.yml) para revisar versiones soportadas) JDK_VERSION=(`java_open_jdk_version` ver [.travis.yml](.travis.yml) para revisar versiones soportadas) pipenv run molecule test
Nota: JDK_VENDOR es un parámetro opcional; si no se define, este rol usará openjdk. Nota: JDK_VERSION es un parámetro opcional; si no se define, este rol instalará el paquete más reciente disponible para la versión principal de Java seleccionada. Nota: debian9 (Debian Stretch) se usará como distribución Linux predeterminada si no se proporciona ninguna.
Consulta el directorio molecule para revisar las posibles plataformas de prueba.
Construido con
Versionado
Para ver las versiones disponibles, consulta las etiquetas de este repositorio.
Además, puedes revisar los cambios en cada versión en el archivo CHANGELOG.md.
Autores
- Idealista - Trabajo de - idealista
Consulta también la lista de colaboradores que participaron en este proyecto.
Licencia
Este proyecto está licenciado bajo la Licencia Apache 2.0 - consulta el archivo LICENSE para más detalles.
Contribuciones
Por favor, lee CONTRIBUTING.md para detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.
Java role, installs JDKs from different vendors (OpenJDK, AdoptOpenJDK and Corretto) and sets system defaults
ansible-galaxy install idealista.java_role