Travis CIからs3にデプロイした時に、詰まったのでメモ。
Travis CIとは
「継続的インテグレーション(CI)」ツール。
あらかじめ指定したgithubのレポジトリに、コードをpushすると、自動でテストを行ってくれる。
テストが成功すれば指定したホスティングサービスにデプロイもしてくれる。失敗するとメール等で通知してくれる、テスト自動化ツール。
手順
前提条件
・GitHub のアカウントを持っている
・GitHub にリポジトリを持っている
・Travis CI のアカウントを持っている
・Travis CI の CLI をインストールしている (gem install travis)
・AWS のアカウントを持っている
・s3の更新権限を持ったアクセスIDとSecrete keyをIAMで作っている。
・s3のバケットを、静的サイトをしてホスティングしている。
1.https://travis-ci.org/ にログインして当該リポジトリをONにする。
2.ローカルのプロジェクトフォルダで、$ touch .travis.yml
3.$Travis encrypt "アクセスキーID"
と$Travis encrypt "シークレットアクセスキー"
で、ターミナルに出てきた、secure: "..."
を.travis.ymlに貼り付ける。
language: node_js
script: echo "do nothing"
deploy:
provider: s3
access_key_id:
secure: "アクセスキーID"
secret_access_key:
secure: "シークレットアクセスキー"
bucket: s3-website.shikumi-zukuri.com
region: us-east-1
endpoint: s3.amazonaws.com
on:
branch: master
```
4.```git add .```、```git commit```、```git push```する。
これで、Travis CIが、自動でテストを実行してくれ指定したs3バケットに、htmlとかのファイルをデプロイしてくれる。
参考
公式ドキュメント
[Travis CIs3 Deployment](https://docs.travis-ci.com/user/deployment/s3/)
[Travis CI for Complete Beginners](https://docs.travis-ci.com/user/for-beginners)
その他
[# travis-ciからAmazon S3へファイルをデプロイする](http://qiita.com/numa08/items/a18501892d3ba0e995fa)
[GitHub + Travis CI + Amazon S3 で git push で更新されるサイトをつくった](http://bouzuya.hatenablog.com/entry/2014/05/20/193328)
[サンプルコード(github)](https://github.com/naogify/travis_s3)