ねむい

睡魔と戦うのに忙しいので労働は別な人に任せたい

Gigalixirにデプロイできた話

結論

  • 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になり、問題無く動作した。

今回の件は色々とぐぐっても情報が無く途方に暮れていたが、ググっても出てこないのは当然だった。
忘備録としてここに記す。