AWSにitamaeで新しい環境を構築してデプロイする流れメモ

今回の記事は、AWSでEC2インスタンスを立ててitamaeのレシピを流す一連の流れのメモです。

手順

1. AWSのEC2インスタンスを起動

以下などを参考に。

qiita.com

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の設定は以下を参照。

totutotu.hatenablog.com

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