fernandrone.ansible_sdkman

Rol de Ansible: fernandrone.ansible_sdkman

Rol de Galaxy Descargas Licencia Apache 2.0 Estado de compilación

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 capacidad de instalarlos a través de SDKMAN. Considera usar OpenJDK en su lugar o instalar/gestionar el JDK de Oracle por otros medios.

Requisitos

Ninguno.

Variables del Rol

Consulta los valores predeterminados para una descripción de cada variable que se puede sobrescribir.

Dependencias

Ninguna.

Ejemplo de Playbook

¡Aquí tienes un ejemplo!

- hosts: servidores
  roles:
    - rol: fernandrone.ansible_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 reconozca 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
      sdkman_fix_permissions: false

Notas Adicionales

Si deseas omitir cualquier paso que requiera escalación de privilegios (es decir, comandos sudo), este rol ha etiquetado esas tareas con la etiqueta sdkman_privilege. Usa 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, instalar paquetes del sistema).

Probar este rol con Alpine Linux ha sido un desafío. Las compilaciones 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 qué tan bien funcionan los paquetes de SDKMAN en Alpine. Puede que varíe. Se te ha advertido.

Licencia

Apache 2.0

Información del Autor

Acerca del proyecto

An Ansible role that installs/manages SDKMAN

Instalar
ansible-galaxy install fernandrone.ansible_sdkman
Licencia
apache-2.0
Descargas
75
Propietario
YAML Engineer. Likes Go.