suzuki-shunsuke.rbenv-module
ansible-rbenv-module
Модуль Ansible для выполнения команд rbenv.
https://galaxy.ansible.com/suzuki-shunsuke/rbenv-module/
Уведомление
- Этот модуль не поддерживает тестовый режим
 
Поддерживаемые платформы
- GenericLinux
 - MacOSX
 
Мы тестируем этот модуль на
- Ubuntu 16.04 (Vagrant, Virtualbox)
 - CentOS 7.3 (Vagrant, Virtualbox)
 - MaxOS Sierra 10.12.5
 
Требования
Если вы хотите установить rbenv и ruby-build, а также зависимости для сборки ruby с помощью роли Ansible, мы рекомендуем suzuki-shunsuke.rbenv.
Поддерживаемые подкоманды и параметры rbenv
$ rbenv install [--skip-existing] [--force] <версия>
$ rbenv uninstall --force <версия>
$ rbenv install --list
$ rbenv versions [--bare] [--skip-aliases]
$ rbenv global
$ rbenv global <версия>
Установка
$ 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 | нет | нет | -l опция | |
| skip_existing | bool | нет | да | -s опция | |
| force | bool | нет | нет | -f опция | 
Обязательна либо опция "version", либо "list". Если установлена опция "list", то возвращаемое значение этой задачи будет содержать поле "versions".
Опции подкоманды "uninstall"
| параметр | тип | обязательный | по умолчанию | выборы / пример | описание | 
|---|---|---|---|---|---|
| version | str | да | 2.4.0 | 
Опции подкоманды "global"
| параметр | тип | обязательный | по умолчанию | выборы | описание | 
|---|---|---|---|---|---|
| version | str | нет | 
Возвращаемое значение подкоманды "global" включает поле "versions".
Опции подкоманды "versions"
| параметр | тип | обязательный | по умолчанию | выборы | описание | 
|---|---|---|---|---|---|
| bare | bool | нет | да | ||
| skip_aliases | bool | нет | да | --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: установить rake на ruby 2.4.0
  gem:
    name: rake
    executable: "~/.rbenv/versions/2.4.0/bin/gem"
Советы
Установка пакетов ruby с помощью gem
Сейчас этот модуль не поддерживает подкоманду gem,
но вы можете сделать это с помощью официального модуля gem.
# установите ruby и создайте виртуальную среду перед использованием модуля gem
- name: rbenv install --skip-existing 2.4.0
  rbenv:
    rbenv_root: "{{rbenv_root}}"
    version: 2.4.0
# используйте модуль gem с опцией executable
- name: установить rake на ruby 2.4.0
  gem:
    name: rake
    executable: "{{rbenv_root}}/versions/2.4.0/bin/gem"
История изменений
Смотрите CHANGELOG.md.
Также смотрите
- suzuki-shunsuke.rbenv: роль Ansible для установки rbenv
 
Лицензия
Разработка
Требования
- Vagrant
 - Ansible
 - Node.js
 - yarn
 
Установка
$ yarn install
$ cd tests
$ ansible-galaxy install -r roles.yml
Тестирование
$ cd tests
$ vagrant up --provision
ansible-galaxy install suzuki-shunsuke.rbenv-module