#概要
Ruby on Rails で作ったアプリケーションをデプロイ環境の構築をElasticBeanstalk(以下EB)を使用して、最短で行います。
IAM権限変更編・環境構築編・EBデプロイ編で分けます。
あくまで、パッとデプロイすることに重点を置くので、厳しい管理が必要な方の場合はご了承ください。
#環境構築編
##開発環境について
Ruby・・・2.6.3
Rails・・・5.0.7.2
Bundler・・・2.1.4以上
OS・・・amazon Linux(cloud9)
Railsは、5.2以降はSECRET_KEYのver管理のために少し面倒だったこと、6.0以上はまだまだ新しく(自分が追いつけていない点もあるのですが)わざわざverを上げるメリットがなかったため、ver5.0.7.2を使用しています。
基本、Linuxなので、Macでも同様の操作ができるかと思います。
ただ、cloud9の無料枠ではrbenv、Rubyのver変更等で容量が必要になり、10GBほど拡張しました。
デプロイできたらすぐたたんでOKですが、実際1か月でも500前後ってところでしょうか。
拡張方法はこちら
##環境構築
- rbenvのinstall
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
2.buildをpluginとして入れる
mkdir -p ~/.rbenv/plugins
3.ruby-build を~/.rbenvに インストール(clone)する
cd ~/.rbenv/plugins
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
4.PATH に追加 → .bash_profileにrbenv initを追加 → pathに追加した情報の有効化
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l
5.rbenvの確認 → インストールできるリストを確認
rbenv -v
rbenv install --list
6.指定のverを選択(今回は2.6.5)
rbenv install 2.6.5
7.installしたversionに環境全体globalに設定(他のアプリがある場合はlocalにしてください)
rbenv global 2.6.5
8.設定したrbenvを再読み込み
rbenv rehash
9.bundlerのverを指定してinstall
gem install bundler -v 2.1.4
10.railsのver指定でrails new
rails _5.0.7.2_ new myapp
11.gemの追記(開発に必要なものここで入れて事前にデプロイの確認を行うと安心できる)
pg, sqlite 1.3.6以上(pgは、herokuにも対応できるように。sqliteはcloud9の場合1.3.6以上を明記する。dotenv-railsは環境変数を使うので今回入れます、。)
gem 'sqlite3','~> 1.3.6'
gem 'pg'
gem 'dotenv-rails'
12.bundle install
bundle install --path vendor/bundle
13.gem fileに追記, pg, sqlite 1.3.6以上(pgは、herokuにも対応できるように。sqliteはcloud9の場合)
gem 'sqlite3','~> 1.3.6'
gem 'pg'
gem "dotenv-rails"
14.コア4つで高速install化設定しつつinstall(bundle configに入るため、-j4は今後入力不要)
bundle install -j4
15.アプリの動作確認
rails g scaffold message subject body:text
rails db:create
rails db:migrate
rails s
ここでrails のlocalserver への接続確認をしておくこと。
お疲れ様でした。
次はIAMでEBの権限を持ったuserを作成していきます。
Root権限でEBを操作するのはよろしくないですし、Rootのアクセスキーを作成するのも、推奨できないので。