bbatsche.Ruby
Ansible Rubyサイトロール
このロールは、Rbenvをインストールし、指定されたバージョンのRubyをインストールします。そして、Phusion Passengerを通じてRubyを実行するNginxサイトを作成します。
要件
Rbenvをインストールするには、サーバーにGitがインストールされている必要があります。当然、すでにインストール済みですよね?
このロールは、特定のディレクトリへのアクセスを付与するためにLinuxのファイルシステムACLと「web-admin」グループを利用します。これらの手順を手動で設定するか、bbatsche.Base
ロールをインストールすることができます。
ロール変数
domain
— 作成するサイトのドメイン。ruby_version
— インストールするRubyのバージョン。デフォルトは「2.3.1」rbenv_version
— インストールするRbenvのバージョン。デフォルトは「v1.0.0」ruby_build_version
— インストールするruby-buildプラグインのバージョン。デフォルトは「v20160426」default_gems_version
— インストールするdefault-gemsプラグインのバージョン。デフォルトはGit SHA:「4f68eae」rbenv_vars_version
— インストールするrbenv-varsプラグインのバージョン。デフォルトは「v1.2.0」binstubs_version
— インストールするbinstubsプラグインのバージョン。デフォルトは「v1.4」copy_configru
— テスト用にスタブconfig.ruファイルをサイトにコピーするかどうか。デフォルトは「いいえ」http_root
— すべてのサイトディレクトリが作成されるディレクトリ。デフォルトは「/srv/http」。rbenv_root
— Rbenvとそのサポートファイルをインストールするディレクトリ。デフォルトは「/usr/local/rbenv」
依存関係
このロールはbbatsche.Nginxに依存しています。最初にこのロールをインストールする必要があります:
ansible-galaxy install bbatsche.Nginx
例としてのプレイブック
- hosts: servers
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
ライセンス
MIT
テスト
このロールには、各タスクを個別または全体としてテストするための仕様が含まれています。これらのテストを実行するには、最初にVagrantとVirtualBoxをインストールする必要があります。仕様ファイルはServerspecを使用して書かれているため、RubyとBundlerが必要です。
全ての仕様を実行するには:
$ gem install bundler
$ bundle install
$ rake
テストスイートは、Ubuntu Trusty Tahr (14.04)、Xenial Xerus (16.04)、Bionic Beaver (18.04)を対象とします。
利用可能なrakeタスク(および仕様)を確認するには:
$ rake -T
これらの仕様は、冪等性をテストするためのものではありません。指定されたタスクが期待される手順を実行するかどうかを確認するためのものです。冪等性は統合テストを通じて独立してテストされます。