cimon-io.asdf
Rôle Ansible ASDF
Un rôle Ansible qui installe le gestionnaire de versions asdf avec des plugins.
Exigences
Aucune
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
). La variable asdf_plugins
spécifie une liste de plugins à installer :
asdf_plugins: []
Chaque plugin peut être donné dans le format suivant :
asdf_plugins:
- name: "erlang" # un nom de plugin
repository: "" # un dépôt de plugin, optionnel
versions: # une liste de versions à installer
- 18.3
- 20.1
global: 20.1 # définir comme version globale, optionnel
La variable asdf_user
définit un utilisateur pour lequel le rôle est installé :
asdf_user: "deploy"
Par défaut, le rôle installe asdf
et ses plugins dans le ~/.asdf
pour cet utilisateur. Ce comportement peut être changé en définissant asdf_dir
. Cela est utile dans les situations où plusieurs utilisateurs ont besoin d'accéder aux plugins et outils installés (par exemple, un utilisateur de déploiement, l'utilisateur de l'application, et éventuellement des utilisateurs développeurs).
asdf_dir: "/opt/asdf-vm"
La variable asdf_legacy_version_file
spécifie si les plugins qui supportent cette fonctionnalité doivent lire les fichiers de version utilisés par d'autres gestionnaires de versions (par exemple, .ruby-version
dans le cas de rbenv pour Ruby).
asdf_legacy_version_file: "yes"
La variable asdf_plugin_dependencies
définit les paquets nécessaires pour les plugins (voir defaults/main.yml
) :
asdf_plugin_dependencies: []
La variable asdf_version
définit le tag git de asdf :
asdf_version: v0.9.0
Dépendances
Aucune
Exemple de Playbook
Un exemple de Playbook est donné ci-dessous :
- hosts: web
roles:
- role: ansible-role-asdf
asdf_plugins:
- name: "erlang"
versions: ["18.3", "20.1"]
global: "20.1"
- name: "elixir"
versions: "1.3.1"
Un exemple plus complexe pour CentOS est :
- name: installer asdf
hosts: '*'
become: true
vars:
asdf_version: v0.6.2
asdf_user: ci
asdf_plugins:
- name: erlang
- name: elixir
- name: nodejs
versions: ["8.11.3"]
global: "8.11.3"
roles:
- asdf
Installation de asdf dans un répertoire partagé accessible au groupe developers
:
- name: installer asdf
hosts: '*'
become: true
vars:
asdf_user: deploy
asdf_group: developers
asdf_dir: /opt/asdf-vm
asdf_plugins:
- name: erlang
- name: elixir
- name: nodejs
versions: ["8.11.3"]
global: "8.11.3"
roles:
- asdf
Licence
Sous licence MIT License.
Install asdf (https://github.com/asdf-vm/asdf.git) and plugins
ansible-galaxy install cimon-io.asdf