cimon-io.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 的 rbenv 中的 .ruby-version
)。
asdf_legacy_version_file: "yes"
变量 asdf_plugin_dependencies
设置插件所需的包(请参见 defaults/main.yml
):
asdf_plugin_dependencies: []
变量 asdf_version
设置 asdf
的 git 标签:
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 安装到开发者组可访问的共享目录:
- 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 许可证 授权。