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/ansible-rbenv-module