srsp.oracle-java

srsp.oracle-java para Ansible Galaxy

Estado de Construcción

Resumen

Nombre del rol en Ansible Galaxy: srsp.oracle-java

Este rol de Ansible tiene las siguientes características relacionadas con el JDK de Oracle:

Este rol se basa en williamyeh.oracle-java, pero quería versiones de Java más recientes y decidí dejar de dar soporte a versiones más antiguas.

Si prefieres OpenJDK, prueba geerlingguy.java.

Descarga automática desde Oracle

Atención: En el pasado, este rol descargaba todos los JDK directamente del sitio de Oracle. Oracle ha restringido esta posibilidad poco a poco. Ahora no puedes descargar ninguna versión de JDK 8 sin iniciar sesión en Oracle. Para JDK 11, solo puedes descargar una versión más antigua. JDK 13 se puede descargar en este momento.

Dado que esto cambia de manera no determinística cada vez que Oracle lanza una nueva versión de Java, no debes confiar en ello. Recomiendo descargar el JDK manualmente e instalarlo con este rol.

Variables del rol

Uso básico

Esto intentará descargar el JDK de Oracle e instalarlo.

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    # Deberías establecer esto:
    - java_version: 13
    # Puedes omitir esto (el rol usará la última versión que conoce):
    - java_subversion: 0.2

Ejemplos

Instalar JDK descargado manualmente

Coloca el archivo JDK descargado para tu sistema en el directorio files y establece java_download_from como local:

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 201
    - java_download_from: local

Instalar desde tu espejo

- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 172
    - java_download_from: mirror
    - java_mirror: "http://some.url/in/your/network/jdk-8u172-macosx-x64.dmg"

Descargar JDK en la máquina local (prefetch)

Si solo deseas tener el JDK en tu máquina local (por ejemplo, para usar los archivos en la prueba de moléculas o para subirlo a tu espejo de intranet corporativa), puedes usar el playbook prefetch.yml en este rol:

ansible-playbook prefetch.yml

Modifica el playbook según tus necesidades.

Si ejecutas desde la línea de comandos

ansible-playbook --ask-become-pass playbook.yml

Variables opcionales

Defaults configurables por el usuario:

# Versión de Java
java_version: 8

# Subversión de Java
java_subversion: 201

# ¿Descargar Java directamente desde Oracle?
# - oracle: Descargar del sitio de Oracle sobre la marcha.
# - mirror: Descargar desde la URL definida en 'java_mirror'.
# - local: Copiar desde el directorio `files` del rol o el playbook en la máquina de control.
java_download_from: oracle

# Dependiendo del valor de 'java_download_from', ocurren diferentes cosas aquí:
# - oracle: No necesitas establecerlo. Se completa automáticamente con el espejo de descarga de Oracle.
# - mirror: Debes establecer el espejo desde el cual deseas descargar. Necesitas establecer la URL completa incluyendo el archivo, como en el ejemplo a continuación. Si también deseas el JCE, necesitas establecer 'jce_zip_url' también.
# - local: 'java_mirror' no se usa, por lo tanto, el valor se ignora.
#java_mirror: "https://private-repo.com/java/jdk-8u172-macosx-x64.dmg"
java_mirror: "http://download.oracle.com/otn-pub/java"

# ¿Eliminar archivos descargados temporalmente?
java_remove_download: true

# ¿Establecer $JAVA_HOME?
java_set_java_home: true

# ¿Instalar JCE?
java_install_jce: false

Para otras opciones configurables, lee el archivo tasks/set-role-variables.yml; por ejemplo, para ver las combinaciones de java_version/java_subversion soportadas.

¡Quiero instalar un JDK que aún no soportas!

¡No hay problema! Debes especificar el número de compilación correspondiente en las variables java_build y jdk_tarball_hash, además de java_version y java_subversion, por ejemplo:

# archivo: playbook.yml
- hosts: all

  roles:
    - srsp.oracle-java

  vars:
    - java_version: 8
    - java_subversion: 141
    - java_build: 15
    - jdk_tarball_hash: 336fa29ff2bb4ef291e347e091f7f4a7

Licencia

Licenciado bajo la Licencia Apache V2.0. Consulta el archivo LICENSE para más detalles.

Desarrollo

Pruebas

Las pruebas utilizan molecule. Dado que este rol necesita un JDK de Oracle, los contenedores de prueba de moléculas montarán /tmp/java, por lo que el JDK se persiste en la máquina local y sigue disponible, cuando el contenedor de prueba ha sido destruido. También puedes precargar el archivo de instalación y colocarlo en /tmp/java.

Esto ejecutará todo el ciclo de pruebas contra el escenario predeterminado:

molecule test

Si deseas trabajar en una distribución específica, usa algo como esto:

molecule converge --scenario-name opensuse15

Si quieres probar todo, emite:

molecule test --all

Esto tomará un tiempo.

Acerca del proyecto

Oracle JDK 8 to 13 for CentOS/Fedora/Debian/Ubuntu/Suse/MacOSX

Instalar
ansible-galaxy install srsp.oracle-java
Licencia
apache-2.0
Descargas
186.3k
Propietario
Doing software things @holisticon