gantsign.sdkman_init
Rôle Ansible : Initialisation de SDKMAN
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)
Ansible role for initializing the SDKMAN software development kit manager.
ansible-galaxy install gantsign.sdkman_init