Comcast.sdkman
Rol de Ansible: Comcast.sdkman
Un rol de Ansible que realiza las siguientes funciones:
- Instalar SDKMAN
- Instalar/desinstalar software gestionado por SDKMAN candidatos
- Establecer versiones predeterminadas de SDK
- Gestionar el archivo de configuración de SDKMAN:
/path/to/sdkman/etc/config
- Limpiar las cachés de SDKMAN
Advertencia: Oracle ha dificultado cada vez más la instalación de sus JDK, lo que ha impedido la posibilidad de instalarlos a través de SDKMAN. Considera usar el OpenJDK en su lugar o instalar/gestionar el JDK de Oracle por otros medios.
Requisitos
Ninguno.
Variables de Rol
Consulta los valores predeterminados para una descripción de cada variable sobreescribible.
Dependencias
Ninguna.
Ejemplo de Playbook
¡Aquí tienes un ejemplo!
- hosts: servers
roles:
- role: Comcast.sdkman
sdkman_user: vagrant
sdkman_group: vagrant
sdkman_auto_answer: true
sdkman_update: true
sdkman_uninstall_packages:
- { candidate: groovy, version: 1.8.9 }
sdkman_install_packages:
- { candidate: java, version: 8.0.202-zulu }
- { candidate: gradle, version: '3.5' }
- { candidate: gradle, version: 2.14.1 }
- { candidate: maven, version: 3.5.0 }
- { candidate: maven, version: 3.3.9 }
# Usa esta sintaxis si quieres que SDKMAN conozca los paquetes instalados *sin* SDKMAN, por ejemplo, JDKs de Oracle
- { candidate: java, version: 1.8.0-oracle, localpath: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk }
sdkman_defaults:
gradle: '3.5'
maven: 3.3.9
java: 8.0.202-zulu
sdkman_flush_caches_before:
- temp
sdkman_flush_caches_after:
- archives
- broadcast
- candidates
- temp
sdkman_offline_mode: false
sdkman_update_alternatives:
- candidate: java
name: java
link: /usr/bin/java
- candidate: java
name: javac
link: /usr/bin/javac
Notas Adicionales
Si deseas omitir cualquier paso que requiera elevación de privilegios (es decir, comandos sudo
), este rol ha etiquetado esas tareas con la etiqueta sdkman_privilege
. Pasa la opción --skip-tags
en la línea de comandos con esta etiqueta para omitir cualquier paso que ya haya sido completado por tu administrador del sistema (por ejemplo, la instalación de paquetes del sistema).
Probar este rol con Alpine Linux ha sido una tarea difícil. Las versiones más recientes de JDK (>-11) disponibles a través de SDKMAN no son compatibles con Alpine. En su lugar, se recomienda instalar un JDK/JRE a través del repositorio de paquetes apk
. Dicho esto, actualmente no estoy seguro de cuán bien funcionan los paquetes de SDKMAN en Alpine. Tu experiencia puede variar. Has sido advertido.
Licencia
Información del Autor
An Ansible role that installs/manages SDKMAN
ansible-galaxy install Comcast.sdkman