Herokuとは
クラウドサービスの1つで、PaaSに分類される。
現在はSalesforce社が提供している。
対応言語
- Ruby
- Java
- Node.js
- PHP
- Python
- Go
- Scala
- Clojure
Herokuの特徴
無料で使用できる
- アカウントを作成すると、5人までフリープランを使用可能。
フリープランでも基本的な機能をほぼ全て無料で使用できるため、個人でアプリケーションの開発・運用を行うには十分。
リリース作業が簡単
- gitを内包しているため、資材をプッシュするだけですぐにデプロイすることができる。
また、GitHubなど外部のプラットフォームと連携することも可能。
アドオンが豊富
- 多数のアドオンが用意されており、機能の拡張がやりやすい。
AWSとの連携
- Heroku自体がAWS上に構築されているサービスであるため、AWSのサービスとの連携も可能。
ただし、一部機能を除き東京リージョンが使えない。
Heroku CI
Herokuでは、CICDの仕組みを簡単に構築できる。
以下の3ステップで導入可能。
-
Heroku Pipelineを作成する。
GUI上でappにdevelop、staging、productionの3つの環境を追加するだけ。
https://devcenter.heroku.com/articles/pipelines -
Heroku CIを有効化する。
GUI上の設定画面で「Enable CI」を押下するだけ。 -
資材の中に、以下のようなapp.jsonを作成する。(gradleでビルドを行う場合)
https://devcenter.heroku.com/ja/articles/app-json-schema
app.json
{
"environments": {
"test": {
"scripts": {
"test": "gradlew build"
}
}
}
}
- develop環境 ⇒ staging環境 ⇒ production環境のリリースがボタン1つで行えるため、リリース作業も非常に簡単。
- アドオンを導入すれば、Heroku CIでDBなどを使用することも可能。
- 資材管理をGitHubなど外部のプラットフォームで行っている場合はHeroku CIでのテスト結果を連携することができる。