suzuki-shunsuke.gvm-module
ansible-gvm-module
ansible模块,用于运行gvm命令。
https://galaxy.ansible.com/suzuki-shunsuke/gvm-module/
注意事项
- 此模块不支持检查模式。
- gvm是Go版本管理器的缩写,此模块与Groovy环境管理器无关。
支持的平台
- 通用Linux
- MacOSX
我们在以下环境下测试了此模块:
- Ubuntu 16.04 (Vagrant, Virtualbox)
- CentOS 7.3 (Vagrant, Virtualbox)
- MacOS Sierra 10.12.5
需求
如果您想用ansible角色安装gvm和golang构建依赖,推荐使用suzuki-shunsuke.gvm。
支持的gvm子命令和选项
$ gvm install <version> [--binary] [--prefer-binary] [--with-build-tools] [--with-protobuf]
$ gvm uninstall <version>
$ gvm list
$ gvm listall
$ gvm alias list
$ gvm alias create <alias> <version>
$ gvm alias delete <alias>
安装
$ ansible-galaxy install suzuki-shunsuke.gvm-module
# playbook.yml
- hosts: default
roles:
# 调用此角色后,您可以使用此模块。
- suzuki-shunsuke.gvm-module
选项
通用选项
名称 | 类型 | 必填 | 默认值 | 选项/示例 | 描述 |
---|---|---|---|---|---|
subcommand | str | 否 | install | [install, uninstall, list, listall, alias list, alias create, alias delete] | |
gvm_root | str | 否 | ~/.gvm | 如果环境变量"GVM_ROOT"未设置,则此选项是必填的 | |
expanduser | bool | 否 | yes | 默认情况下,环境变量GVM_ROOT和"gvm_root"选项通过os.path.expanduser过滤 |
"install"子命令的选项
参数 | 类型 | 必填 | 默认值 | 选项/示例 | 描述 |
---|---|---|---|---|---|
version | str | 是 | go1.4 | ||
binary | bool | 否 | no | 如果您想避免编译错误,建议将此选项设置为"yes" | |
prefer_binary | bool | 否 | no | ||
with_build_tools | bool | 否 | no | ||
with_protobuf | bool | 否 | no |
"uninstall"子命令的选项
参数 | 类型 | 必填 | 默认值 | 选项/示例 | 描述 |
---|---|---|---|---|---|
version | str | 是 | go1.4 |
"list"子命令的选项
无。
"list"子命令的返回值包含"versions"字段。
"listall"子命令的选项
无。
"listall"子命令的返回值包含"versions"字段。
"alias list"子命令的选项
无。
"alias list"子命令的返回值包含"aliases"字段。
"alias create"子命令的选项
参数 | 类型 | 必填 | 默认值 | 选项/示例 | 描述 |
---|---|---|---|---|---|
version | str | 是 | go1.4 | ||
alias | str | 是 | foo |
"alias delete"子命令的选项
参数 | 类型 | 必填 | 默认值 | 选项/示例 | 描述 |
---|---|---|---|---|---|
alias | str | 是 | foo |
示例
- name: gvm安装go1.4
gvm:
version: go1.4
gvm_root: "~/.gvm"
- name: gvm安装go1.5 --binary
gvm:
version: go1.5
gvm_root: "~/.gvm"
binary: yes
- name: gvm卸载go1.5
gvm:
subcommand: uninstall
version: go1.5
gvm_root: "~/.gvm"
- name: gvm列出版本
gvm:
subcommand: list
gvm_root: "~/.gvm"
register: result
- debug:
var: result.versions
- name: gvm列出所有版本
gvm:
subcommand: listall
gvm_root: "~/.gvm"
register: result
- debug:
var: result.versions
- name: gvm创建别名foo为go1.4
gvm:
subcommand: alias create
version: go1.4
alias: foo
gvm_root: "~/.gvm"
- name: gvm列出别名
gvm:
subcommand: alias list
gvm_root: "~/.gvm"
register: result
- debug:
var: result.aliases
- name: gvm删除别名foo
gvm:
subcommand: alias delete
alias: foo
gvm_root: "~/.gvm"
变更记录
请参见CHANGELOG.md。
另请参阅
- suzuki-shunsuke.gvm: 用于安装gvm的ansible角色
许可证
开发
需求
- Vagrant
- Ansible
- Node.js
- yarn
设置
$ yarn install
$ cd tests
$ ansible-galaxy install -r roles.yml
测试
$ cd tests
$ vagrant up --provision