だれも聞いていないと思って歌え

dance as if no one’s watching, sing as if no one’s listening, and live everyday as if it were your last.

STG 環境として heroku で静的ページを作成する

Bitbucket 上にリポジトリを用意して静的ページを作成し、作成したものを他の人に確認してために環境を用意することにしました。

Netlify という静的サイトのホスティングサービスを使おうとしたけれど、無料の範囲内では Basic 認証ができないため断念。。。
まだ作成したものが採用されるとも限らないので、できる限り無料の範囲内でやりたいし、関係者以外に見られたくないので Basic 認証はどうしても行いたい。

調べた結果、 Heroku 上で静的ページを公開するための設定を用意したリポジトリがあったのでそちらを利用してみることにしました。

qiita.com

github.com

リポジトリの作成

作成した静的ページのリポジトリと、 Heroku 用のリポジトリを別にして新たに作成する。
手順は、こちらのページを参考にしました。

qiita.com

静的サイトを submodule として追加する

静的サイトを submodule として追加するため、用意されている public ディレクトリを削除して submodule を追加します。
また、リポジトリの指定方法に決まりがあるようだったのでそちらに合わせて設定する。

devcenter.heroku.com

$ rm -rf public
$ git add public
$ git commit -m 'remove default public'
$ git submodule add https://<user name>:<password>@bitbucket.org/<user name>/<repository name>.git public
$ git commit -m 'add submodules'

Procfile を編集する

静的サイトのリポジトリで、いくつかのパッケージをインストールする必要があるため Procfile を編集します。

web: cd public && npm install --production && cd .. && node server

最後に、 Heroku へ push する

Git ではなく Bitbucket を使用しているため、手動で設定します。

$ git remote add heroku https://git.heroku.com/<repository name>.git
$ git push heroku master
$ heroku config:set USER=<user>
$ heroku config:set PASS=<password>

完成! 🎉