Itamaeを用いてUbuntuにRails5をインストールする

前提

  • サーバ
  • クライアント
  • Mac側の各種バージョン
    • Ruby
      • 2.3.3
    • gem
      • 2.5.2
    • Itamae
      • 1.9.10
  • UbuntuにインストールするRailsのバージョン
    • 5.0.1

Itamaeをインストール

gem install itamae

Railsをインストールするレシピを作成

rbenvを使用しない場合

execute "ubuntu update" do
  command "sudo apt-get -y update"
end
package 'build-essential'
package 'libssl-dev'
package 'libreadline-dev'
package 'git'
package 'nginx'
package 'ruby-dev'
package 'libsqlite3-dev'
gem_package 'sqlite3'
gem_package 'rails'

rbenvを使用する場合

rbenvをパッケージからインストールすると上手くいかなかったのでgitからインストールする形にした。

REROAD_PROFILE = ". ~/.profile"
execute "ubuntu update" do
  command "apt-get -y update"
end

package 'build-essential'
package 'libssl-dev'
package 'libreadline-dev'
package 'git'
package 'nginx'
package 'libsqlite3-dev'

execute "rbenv install" do
  not_if "ls ~/.rbenv"
  command "git clone https://github.com/sstephenson/rbenv.git ~/.rbenv && git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build"
end
execute "update .profile for rbenv" do
  not_if %(#{REROAD_PROFILE} && rbenv --help)
  command %(echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile && echo 'eval "$(rbenv init -)"' >> ~/.profile)
end
execute "install ruby" do
  command "#{REROAD_PROFILE} && rbenv install -s 2.3.1"
end
execute "apply rbenv specific version" do
  command "#{REROAD_PROFILE} && rbenv global 2.3.1"
end
execute "install bundler" do
  command "#{REROAD_PROFILE} && rbenv exec gem install bundler"
end
execute "install sqlite3 for rails" do
  command "#{REROAD_PROFILE} && rbenv exec gem install sqlite3"
end
execute "install rails" do
  command "#{REROAD_PROFILE} && rbenv exec gem install rails"
end

Itamaeを実行

itamae ssh -h hostname -p 22 -u username recipi.rb -l debug

UbnutuにアクセスしてRailsがインストールされていることを確認する

$ rails -v
Rails 5.0.1

今回作成したレシピのGIthubのURL

github.com