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 许可证 授权。

关于项目

Install asdf (https://github.com/asdf-vm/asdf.git) and plugins

安装
ansible-galaxy install cimon-io.asdf
许可证
Unknown
下载
26k
拥有者
Continuous integration system with integrated staging server