An Ansible Role that installs asdf version manager with plugins.
None
Available variables are listed below, along with default values (see defaults/main.yml). The variable asdf_plugins specifies a list of plugins to install:
asdf_plugins: []Each plugin can be given in the following format:
asdf_plugins:
- name: "erlang" # a plugin name
repository: "" # a plugin repository, optional
versions: # a list of versions to install
- 18.3
- 20.1
global: 20.1 # set as a global version, optionalThe variable asdf_user sets a user for which the role is installed:
asdf_user: "deploy"By default the role installs asdf and its plugins in the ~/.asdf for this
user. This behaviour can be changed by setting asdf_dir. This is useful in
situations where multiple users need access to installed plugins and tools (e.g.
a deploy user, the app user, and possibly developer users).
asdf_dir: "/opt/asdf-vm"The variable asdf_legacy_version_file specifies if plugins which support this feature should read the version files used by other version managers (e.g. .ruby-version in the case of Ruby's rbenv).
asdf_legacy_version_file: "yes"The variable asdf_plugin_dependencies sets packages which are needed for plugins (see defaults/main.yml):
asdf_plugin_dependencies: []The variable asdf_version sets the git tag of asdf:
asdf_version: v0.9.0None
Playbook example is given below:
- 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"A more complex example for CentOS is:
- name: install 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:
- asdfInstalling asdf into a shared directory accessible to the developers group:
- name: install 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:
- asdfLicensed under the MIT License.