つらみ
- HerokuのGitHub連携、リポジトリ内のすべてをデプロイしてしまう (ので、Procfileなどをリポジトリ直下に配置せねばならない)
- つらい (GitHubリポジトリのほうを小分けする必要があって)
たとえばこういうディレクトリ構成のとき、 フロントエンドはデプロイしたくなくてAPIだけHerokuにデプロイしたい、とする。
同じHerokuだけどappをフロントエンドとバックエンドで分けてる、みたいな場合も当てはまりそう。
.
├ v2okimochi-apps-frontend
│ └ ...
├ v2okimochi-apps-api
│ └ ... <= これだけ全部デプロイしたい
└ README.mdとか
既に方法は紹介されているが、本稿はそれのGUI版を書く。
Heroku CLIでやる場合の参考 https://qiita.com/amagurix/items/5fad1693752a6ad9e86c
heroku-buildpack-monorepoを使う
Herokuデプロイ時にディレクトリ指定ができる。
- Herokuの対象appで、settingsタブからBuildpacksにheroku-buildpack-monorepoを追加する。
Add buildpackから、直接URLを指定する。今回は https://github.com/lstoll/heroku-buildpack-monorepoでいけた。
※ 言語のbuildpackより上にする必要がある。順番に読まれているのか?
- Herokuの環境変数 (Config Vars)に、たとえば
APP_BASE=v2okimochi-apps-apiを追加して読み取らせる。
この指定の場合、リポジトリ直下にある v2okimochi-apps-apiディレクトリ内だけをデプロイし、 v2okimochi-apps-api/Procfileなどが読み込まれる。
おまけ
Git側で subtree pushを使う方法が有名らしいが、そこはHerokuに勝手にやってもらうほうが嬉しい。。。
https://qrunch.net/@yumechi/entries/8d7uwLWuOFtA09sn
https://medium.com/@shalandy/deploy-git-subdirectory-to-heroku-ea05e95fce1f
