k2ss.info
Django+AngularプロジェクトをHerokuへデプロイした話 | @K2SS - 日々、邁進
実に5ヶ月ぶりの投稿です。 この間、個人の仕事でバタバタしたり常駐が週3になったり旅行したりと色々ありましたが、ひとまず元気です。 いい加減「Go to Everyone!」の更新以外の記事を書く習慣を戻していこうと思います。 さて、今回はDjango+npmのプロジェクトをHerokuにアップする手順について記載します。 恥ずかしながら最近までHerokuを触ったことが無く、AWSやVPSとは違って自由にできない点が多くかなりハマりました。 今後同じようにハマる方が減ることを願ってここに記載します。 heroku-cliの導入 これは色々なところに記載があるため割愛します。 結果的に、以下コマンドが動作すればOKです。 $ heroku --help Herokuアカウント登録 アカウントが無い人はこちらから登録しましょう。 ※Herokuで動作するDynoについて Dyno(アプリケーションを動作させるコンテナ)は月あたりの動作時間で課金となりますが、 1つだけ動作させるのであれば1ヶ月無停止でも無料枠に収まります。 ただ、その場合は時間の制限上クレジットカード情報の登録が必要です。 また、30分アクセスが無いと停止するため、次回アクセス時にかなり待たされます。 定期的にcurlするなど何らかの対策が必要ですのでご注意ください。 アカウント登録後は、以下コマンドでログインしておいてください。 $ heroku login データベースを用意 PostgreSQLを利用します。 Herokuではプラグインを導入することで無料で利用できます(その分スペックが低いので、本格的に利用するならDyno含め有料プランをおすすめします)。 リポジトリの用意 Heroku用にGitリポジトリを配置することもできますが、GitHubと連携させることも可能です。 今回は過去に何度か登場している以下リポジトリを参考にします。 myrecipe こちらは、Django2.xとAngular6.xを利用しています(今回、これらのセットアップは本題ではないため割愛します)。 それぞれ独立させて動作させているため、ここのつなぎ込みが一番苦労しました。 ビルドに必要なbuildpacksの追加 $ heroku buildpacks:set heroku/python $ heroku