cimon-io.asdf
Rol de Ansible ASDF
Un Rol de Ansible que instala el gestor de versiones asdf con plugins.
Requisitos
Ninguno
Variables del Rol
Las variables disponibles están listadas a continuación, junto con los valores predeterminados (ver defaults/main.yml
). La variable asdf_plugins
especifica una lista de plugins para instalar:
asdf_plugins: []
Cada plugin se puede dar en el siguiente formato:
asdf_plugins:
- name: "erlang" # un nombre de plugin
repository: "" # un repositorio de plugin, opcional
versions: # una lista de versiones para instalar
- 18.3
- 20.1
global: 20.1 # establecer como versión global, opcional
La variable asdf_user
establece un usuario para el cual se instala el rol:
asdf_user: "deploy"
Por defecto, el rol instala asdf
y sus plugins en el directorio ~/.asdf
para este
usuario. Este comportamiento se puede cambiar configurando asdf_dir
. Esto es útil en
situaciones donde múltiples usuarios necesitan acceso a los plugins y herramientas instaladas (por ejemplo,
un usuario de despliegue, el usuario de la aplicación, y posiblemente usuarios desarrolladores).
asdf_dir: "/opt/asdf-vm"
La variable asdf_legacy_version_file
especifica si los plugins que admiten esta característica deben leer los archivos de versión utilizados por otros gestores de versiones (por ejemplo, .ruby-version
en el caso de rbenv de Ruby).
asdf_legacy_version_file: "yes"
La variable asdf_plugin_dependencies
establece paquetes que son necesarios para los plugins (ver defaults/main.yml
):
asdf_plugin_dependencies: []
La variable asdf_version
establece la etiqueta git de asdf:
asdf_version: v0.9.0
Dependencias
Ninguna
Ejemplo de Playbook
El ejemplo de Playbook se da a continuación:
- 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 ejemplo más complejo para CentOS es:
- name: instalar 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
Instalando asdf en un directorio compartido al que pueda acceder el grupo developers
:
- name: instalar 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
Licencia
Licenciado bajo la Licencia MIT.
Install asdf (https://github.com/asdf-vm/asdf.git) and plugins
ansible-galaxy install cimon-io.asdf