gantsign.sdkman_init

Rôle Ansible : Initialisation de SDKMAN

Tests Ansible Galaxy Licence

Ce rôle sert à initialiser SDKMAN, le gestionnaire de kits de développement logiciel. Ce rôle vous permet d'installer des SDK spécifiques dans le cadre de votre provisioning Ansible et de définir quelles versions doivent être utilisées par défaut.

Important : ce rôle nécessite que SDKMAN soit déjà installé. Vous pouvez utiliser notre rôle gantsign.sdkman pour installer SDKMAN.

Exigences

  • Ansible >= 2.9

  • Distribution Linux

    • Famille Debian

      • Debian

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

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

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • Famille SUSE

      • openSUSE

        • 15.3
    • Remarque : d'autres versions peuvent fonctionner mais n'ont pas été testées.

Variables du Rôle

Les variables suivantes changeront le comportement de ce rôle :

# SDKMAN est initialisé par utilisateur, vous devez donc spécifier au moins un utilisateur
users:
  - username: # Utilisateur pour initialiser SDKMAN
    sdkman_install:
      - candidate: # Nom du SDK candidat, par exemple, java
        version: # Version du candidat à installer
        path: # Optionnel. Pour ajouter une installation de SDK existante à SDKMAN.
              # La `version` pour le SDK existant ne peut pas être la même que
              # celles fournies par SDKMAN. La chaîne de version est juste un
              # identifiant, vous pouvez lui donner n'importe quelle valeur que vous aimez (tant que cela
              # ne rentre pas en conflit avec d'autres versions pour ce candidat).
    sdkman_default:
      _candidate_sdk_name_here_: # Optionnel. Version par défaut

Exemples de Playbooks

Voici une configuration d'exemple pour ce rôle seul (sans le rôle nécessaire pour installer 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'

Voici un exemple complet qui utilise le rôle gantsign.sdkman pour installer SDKMAN. Notez comment le rôle gantsign.sdkman_init peut être utilisé plusieurs fois avec des étiquettes Ansible pour installer conditionnellement des SDK spécifiques.

- 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'

Plus de Rôles de GantSign

Vous pouvez trouver plus de rôles de GantSign sur Ansible Galaxy.

Développement & Tests

Ce projet utilise Molecule pour faciliter le développement et les tests ; le rôle est testé de manière unitaire avec Testinfra et pytest.

Pour développer ou tester, vous aurez besoin d'installer les éléments suivants :

Comme l'installation de ceux-ci peut être délicate, ce projet inclut Molecule Wrapper. Molecule Wrapper est un script shell qui installe Molecule et ses dépendances (à l'exception de Linux) et exécute ensuite Molecule avec la commande que vous lui passez.

Pour tester ce rôle avec Molecule Wrapper, exécutez la commande suivante depuis la racine du projet :

./moleculew test

Remarque : certaines dépendances nécessitent des autorisations sudo pour être installées.

Licence

Apache 2

Informations sur l'Auteur

John Freeman

GantSign Ltd. Numéro de société. 06109112 (enregistré en Angleterre)

À propos du projet

Ansible role for initializing the SDKMAN software development kit manager.

Installer
ansible-galaxy install gantsign.sdkman_init
Licence
apache-2.0
Téléchargements
4k
Propriétaire