gantsign.sdkman_init

Rol de Ansible: Inicializar SDKMAN

Pruebas Ansible Galaxy Licencia

Rol para inicializar SDKMAN, el gestor de kits de desarrollo de software. Este rol permite instalar SDKs específicos como parte de tu provisión de Ansible y establecer qué versiones se deben usar por defecto.

Importante: este rol requiere que SDKMAN ya esté instalado. Puedes usar nuestro rol gantsign.sdkman para instalar SDKMAN.

Requisitos

  • Ansible >= 2.9

  • Distribución de Linux

    • Familia Debian

      • Debian

        • Stretch (9)
        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • Familia RedHat

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • Familia SUSE

      • openSUSE

        • 15.3
    • Nota: otras versiones probablemente funcionen, pero no han sido probadas.

Variables del Rol

Las siguientes variables cambiarán el comportamiento de este rol:

# SDKMAN se inicializa por usuario, por lo que debes especificar al menos un usuario
users:
  - username: # Usuario para inicializar SDKMAN
    sdkman_install:
      - candidate: # Nombre del SDK candidato, por ejemplo, java
        version: # Versión del candidato a instalar
        path: # Opcional. Para añadir una instalación de SDK existente a SDKMAN.
              # La `version` del SDK existente no puede ser la misma que ninguna
              # de las que proporciona SDKMAN. La cadena de versión es solo un
              # identificador, así que puedes darle cualquier valor que desees (siempre
              # que no choque con otras versiones para este candidato).
    sdkman_default:
      _candidate_sdk_name_here_: # Opcional. Versión por defecto

Ejemplo de Playbooks

Este es un ejemplo de configuración para este rol por sí solo (sin el rol necesario para instalar SDKMAN).

- hosts: servers
  roles:
    - role: gantsign.sdkman_init
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            java: '10'
            maven: '3.5.4'

Este es un ejemplo completo que usa el rol gantsign.sdkman para instalar SDKMAN. Observa cómo el rol gantsign.sdkman_init se puede usar más de una vez con etiquetas de Ansible para instalar condicionalmente SDKs específicos.

- hosts: servers
  roles:
    - role: gantsign.sdkman
      sdkman_users:
        - example_username

    - role: gantsign.sdkman_init
      tags:
        - java
      users:
        - username: example_username
          sdkman_install:
            - candidate: java
              version: '8.0.181-zulu'
            - candidate: java
              version: '10'
              path: '/opt/java/jdk-10.0.2'
          sdkman_default:
            java: '10'

    - role: gantsign.sdkman_init
      tags:
        - java
        - maven
      users:
        - username: example_username
          sdkman_install:
            - candidate: maven
              version: '3.5.4'
          sdkman_default:
            maven: '3.5.4'

Más Roles de GantSign

Puedes encontrar más roles de GantSign en Ansible Galaxy.

Desarrollo y Pruebas

Este proyecto utiliza Molecule para ayudar en el desarrollo y las pruebas; el rol es probado mediante Testinfra y pytest.

Para desarrollar o probar, necesitarás tener instalados los siguientes:

Debido a que lo anterior puede ser complicado de instalar, este proyecto incluye Molecule Wrapper. Molecule Wrapper es un script de shell que instala Molecule y sus dependencias (aparte de Linux) y luego ejecuta Molecule con el comando que le pases.

Para probar este rol usando Molecule Wrapper, ejecuta el siguiente comando desde la raíz del proyecto:

./moleculew test

Nota: algunas de las dependencias necesitan permiso de sudo para instalar.

Licencia

Apache 2

Información del Autor

John Freeman

GantSign Ltd.
Número de empresa: 06109112 (registrada en Inglaterra)

Acerca del proyecto

Ansible role for initializing the SDKMAN software development kit manager.

Instalar
ansible-galaxy install gantsign.sdkman_init
Licencia
apache-2.0
Descargas
4k
Propietario