結論
- lib/ が.gitignoreに書かれていた
- メイン言語で lib/ を.gitignoreしている人は気をつけよう
経緯
Gigalixirはelixirで作ったソフトをデプロイできるPaaSです。
サーバ停止時間が無くカスタムドメインやSSLが利用できるため、elixir/phoenixで開発している人はお世話になることが多いサービスだと思います。
www.gigalixir.com
今回、Phoenixのガイドにあるリアルタイムのチャットアプリを作成しGigalixirにデプロイしようとしました。
(Zennで有志の方による日本語記事が上がっています。ありがとうございます。)
zenn.dev
で、ガイド通りに実装を進めてローカルでの動作確認を終えて、いざGigalixirにデプロイしてみるもステータスがUnhealtyから変わらない。
`$ gigalixir logs` で確認してみると、"Application.start/2 が見つからない" とのエラー。
色々と設定を変更してみるも効果無し。
ふと、lib/のファイルを変更したのにgit statusに表示されていないことに気づく。
もしやと思ってソースコードをpushしていたGitHubのリポジトリを見る。
案の定、lib/ ディレクトリが全くデプロイされていなかった。
ホームディレクトリに設定している共通の.gitignoreの設定を見ると、lib/の記述があった。
`$ git add -f lib/` で lib/ をgitに組み込んでGigalixirにデプロイしたらステータスがHealtyになり、問題無く動作した。
今回の件は色々とぐぐっても情報が無く途方に暮れていたが、ググっても出てこないのは当然だった。
忘備録としてここに記す。