suzuki-shunsuke.rbenv-module

ansible-rbenv-module

构建状态

ansible模块,用于运行rbenv命令。

https://galaxy.ansible.com/suzuki-shunsuke/rbenv-module/

注意

支持的平台

  • 通用Linux
  • MacOSX

我们在以下环境中测试了此模块

  • Ubuntu 16.04(Vagrant,Virtualbox)
  • CentOS 7.3(Vagrant,Virtualbox)
  • MacOS Sierra 10.12.5

需求

如果你想通过ansible角色安装rbenv和ruby-build及其依赖,推荐使用suzuki-shunsuke.rbenv

支持的rbenv子命令和选项

$ rbenv install [--skip-existing] [--force] <version>
$ rbenv uninstall --force <version>
$ rbenv install --list
$ rbenv versions [--bare] [--skip-aliases]
$ rbenv global
$ rbenv global <version>

安装

$ ansible-galaxy install suzuki-shunsuke.rbenv-module
# playbook.yml

- hosts: default
  roles:
  # 调用此角色后,您可以使用该模块。
  - suzuki-shunsuke.rbenv-module

选项

除了此文档外,请参阅rbenv命令参考以及rbenv help <command>命令的输出。

常见选项

名称 类型 必需 默认 选项/示例 描述
subcommand str install [install, uninstall, versions, global]
rbenv_root str ~/.rbenv 如果环境变量“RBENV_ROOT”未设置,则此选项是必需的
expanduser bool yes 默认情况下,环境变量RBENV_ROOT和“rbenv_root”选项通过os.path.expanduser进行过滤

“install”子命令的选项

参数 类型 必需 默认 选项/示例 描述
version str 2.4.0
list bool no -l选项
skip_existing bool yes -s选项
force bool no -f选项

需要“version”或“list”选项之一。 如果设置了“list”选项,该任务的返回值将包含“versions”字段。

“uninstall”子命令的选项

参数 类型 必需 默认 选项/示例 描述
version str 2.4.0

“global”子命令的选项

参数 类型 必需 默认 选项 描述
version str

“global”子命令的返回值中有“versions”字段。

“versions”子命令的选项

参数 类型 必需 默认 选项 描述
bare bool yes
skip_aliases bool yes --skip-aliases选项

“versions”子命令的返回值中有“versions”字段。

示例

- name: rbenv install --list
  rbenv:
    list: yes
    rbenv_root: "~/.rbenv"
  register: result
  failed_when: result.failed or result.changed
- debug:
  var: result.versions
- name: rbenv global
  rbenv:
    subcommand: global
    rbenv_root: "~/.rbenv"
  register: result
  failed_when: result.failed or result.changed
- debug:
  var: result
- name: rbenv install --skip-existing 2.4.0
  rbenv:
    version: 2.4.0
    rbenv_root: "~/.rbenv"
- name: rbenv versions --bare --skip-aliases
  rbenv:
    subcommand: versions
    rbenv_root: "~/.rbenv"
  register: result
  failed_when: result.failed or result.changed
- debug:
  var: result.versions
- name: rbenv versions --skip-aliases
  rbenv:
    subcommand: versions
    rbenv_root: "~/.rbenv"
    bare: no
  register: result
  failed_when: result.failed or result.changed
- debug:
  var: result.versions
- name: rbenv versions --bare
  rbenv:
    subcommand: versions
    rbenv_root: "~/.rbenv"
    skip_aliases: no
  register: result.versions
  failed_when: result.failed or result.changed
- debug:
  var: result
- name: rbenv global 2.4.0
  rbenv:
    subcommand: global
    version: 2.4.0
    rbenv_root: "~/.rbenv"
  register: result
- debug:
  var: result.version
- name: rbenv global
  rbenv:
    subcommand: global
    rbenv_root: "~/.rbenv"
  register: result
  failed_when: result.failed or result.changed
- debug:
  var: result.versions
- name: rbenv uninstall --force 2.3.1
  rbenv:
    subcommand: uninstall
    version: 2.3.1
  environment:
    RBENV_ROOT: "~/.rbenv"
  register: result
- name: 在ruby 2.4.0上安装rake
  gem:
    name: rake
    executable: "~/.rbenv/versions/2.4.0/bin/gem"

提示

使用gem安装ruby包

现在该模块不支持gem子命令, 但您可以通过官方gem模块来实现。

# 使用gem模块之前安装ruby并创建虚拟环境
- name: rbenv install --skip-existing 2.4.0
  rbenv:
    rbenv_root: "{{rbenv_root}}"
    version: 2.4.0

# 在使用可执行选项调用gem模块
- name: 在ruby 2.4.0上安装rake
  gem:
    name: rake
    executable: "{{rbenv_root}}/versions/2.4.0/bin/gem"

更新日志

请查看CHANGELOG.md

参考

许可

MIT

开发

需求

  • Vagrant
  • Ansible
  • Node.js
  • yarn

设置

$ yarn install
$ cd tests
$ ansible-galaxy install -r roles.yml

测试

$ cd tests
$ vagrant up --provision
关于项目

run rbenv command

安装
ansible-galaxy install suzuki-shunsuke.rbenv-module
许可证
mit
下载
4.7k
拥有者
Platform Engineer / OSS Developer / Go