suzuki-shunsuke.rbenv-module

ansible-rbenv-module

ビルドステータス

rbenvコマンドを実行するためのansibleモジュールです。

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

お知らせ

対応プラットフォーム

  • GenericLinux
  • MacOSX

このモジュールは以下でテストされています。

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

必要要件

ansibleロールでrbenvとruby-build、rubyビルド依存関係をインストールしたい場合は、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 いいえ いいえ -lオプション
skip_existing bool いいえ yes -sオプション
force bool いいえ いいえ -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