asdf
Ansible роль ASDF
Ansible роль, которая устанавливает asdf - менеджер версий с плагинами.
Требования
Нет
Переменные роли
Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml
). Переменная asdf_plugins
указывает список плагинов для установки:
asdf_plugins: []
Каждый плагин можно указать в следующем формате:
asdf_plugins:
- name: "erlang" # имя плагина
repository: "" # репозиторий плагина, необязательно
versions: # список версий для установки
- 18.3
- 20.1
global: 20.1 # установить как глобальную версию, необязательно
Переменная asdf_user
устанавливает пользователя, для которого устанавливается роль:
asdf_user: "deploy"
По умолчанию роль устанавливает asdf
и его плагины в ~/.asdf
для этого пользователя. Это поведение можно изменить, установив asdf_dir
. Это полезно в случаях, когда несколько пользователей должны иметь доступ к установленным плагинам и инструментам (например, пользователь развертывания, пользователь приложения и, возможно, разработчики).
asdf_dir: "/opt/asdf-vm"
Переменная asdf_legacy_version_file
определяет, должны ли плагины, поддерживающие эту функцию, читать файлы версий, используемые другими менеджерами версий (например, .ruby-version
для rbenv Ruby).
asdf_legacy_version_file: "yes"
Переменная asdf_plugin_dependencies
устанавливает пакеты, необходимые для плагинов (см. defaults/main.yml
):
asdf_plugin_dependencies: []
Переменная asdf_version
устанавливает git тег asdf:
asdf_version: v0.9.0
Зависимости
Нет
Пример плейбука
Пример плейбука приведен ниже:
- 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"
Более сложный пример для CentOS:
- name: установить 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
Установка asdf в общий каталог, доступный группе developers
:
- name: установить 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
Лицензия
Лицензировано под MIT Лицензией.
Install asdf (https://github.com/asdf-vm/asdf.git) and plugins
ansible-galaxy install cimon-io/ansible-role-asdf