idealista.java_role

Logo

Estado de construcción Descargas de Docker Hub

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

defaults/main.yml

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

Ansible Molecule Packer

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

Consulta también la lista de colaboradores que participaron en este proyecto.

Licencia

Licencia Apache 2.0

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.

Acerca del proyecto

Java role, installs JDKs from different vendors (OpenJDK, AdoptOpenJDK and Corretto) and sets system defaults

Instalar
ansible-galaxy install idealista.java_role
Licencia
apache-2.0
Descargas
58.1k
Propietario
We release serious projects apart from Ansible Roles.