AWSにitamaeで新しい環境を構築してデプロイする流れメモ
今回の記事は、AWSでEC2インスタンスを立ててitamaeのレシピを流す一連の流れのメモです。
手順
1. AWSのEC2インスタンスを起動
以下などを参考に。
2. ssh keyをローカルにもってきてconfigしとく
HostNameで簡単にsshできるように設定しときます。
EC2からダウンロードしてきた場合keyのpermissionが最初ゆるすぎるっぽい。
$ chmod 400 ~/.ssh/aws_key.pem
3. itamaeインストール
$ gem install itamae
4. itamaeのレシピ流し込む
$ itamae ssh --host HostName recipes/base.rb -y nodes/node.json
itamaeのレシピは以下の記事とかを参考にしてやってください。
Itamaeレシピ集 - Ruby/nginx/MySQL/Redis/etc
5. GitHubにDeploy Key登録
GitHubにまだデプロイ用のssh keyを登録できてない場合は登録しておきます。
https://help.github.com/articles/adding-a-new-ssh-key-to-the-ssh-agent/
$ eval "(ssh-agent -s)" $ ssh-add ~/.ssh/id_rsa
6. Capistranoでデプロイ
Capistranoの設定は以下を参照。
Capistranoのデプロイの前にec2-userにrbenvのgemのディレクトリのwrite権限を与えないとうまくbundle installできずに止まってしまいました。
$ sudo chown -R ec2-user /usr/local/rbenv/versions/2.3.0 $ sudo chown -R ec2-user /usr/loca/rbenv/shims
そしたらデプロイ。
$ bundle exec cap staging deploy:check $ bundle exec cap staging deploy