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を参照してください。
その他の関連情報
- suzuki-shunsuke.rbenv: rbenvをインストールするためのansibleロール
ライセンス
開発
必要要件
- 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
ライセンス
mit
ダウンロード
4.7k
所有者
Platform Engineer / OSS Developer / Go