Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Travis CI + s3でデプロイしてみた。

More than 3 years have passed since last update.

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に貼り付ける。

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 commitgit pushする。

これで、Travis CIが、自動でテストを実行してくれ指定したs3バケットに、htmlとかのファイルをデプロイしてくれる。

参考
公式ドキュメント
Travis CIs3 Deployment
Travis CI for Complete Beginners

その他
# travis-ciからAmazon S3へファイルをデプロイする
GitHub + Travis CI + Amazon S3 で git push で更新されるサイトをつくった

サンプルコード(github)

naogify
GISや人工衛星のデータを触ってます。本職はWebのエンジニアです。/OpenStreetMap/Osumium/Tellus/
https://naoki-is.me/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away