Herokuエラー等メモ

f:id:utr066:20190620160312p:plain

Herokuのエラーなり、メモとして残しておきたいものを書いておく。

Error: Missing required flag

Herokuのサーバとgitリポジトリを紐付ける必要がある。 Heroku管理画面のSettingsから見ることのできるHeroku Git URLをgit remote add heroku 〇〇で紐付ける。

動いたり動かなかったりする

デプロイすると、それがうまく動いたり動かなかったりする。

$ heroku restart

しまくったりすると直るかも・・・ 原因はよくわからん。

ログ見た感じ、herokuがidling状態になってfork/exec /go/src/〇〇/gin-bin: no such file or directoryっていうのが出てるな。んー・・・ それとherokuアイドリングしないように5分ごとにmonitoringしてるんだけどなあ・・あれえ・・・

 Idling
2019-07-25T13:32:57.145681+00:00 heroku[web.1]: State changed from up to down
2019-07-25T13:32:57.967220+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-07-25T13:32:58.030323+00:00 heroku[web.1]: Process exited with status 143
2019-07-25T13:58:15.941833+00:00 heroku[web.1]: Unidling
2019-07-25T13:58:15.960619+00:00 heroku[web.1]: State changed from down to starting
2019-07-25T13:58:15.965435+00:00 heroku[web.1]: Unidling
2019-07-25T13:58:15.988899+00:00 heroku[web.1]: State changed from down to starting
2019-07-25T13:58:15.992063+00:00 heroku[web.1]: Unidling
2019-07-25T13:58:15.999759+00:00 heroku[web.1]: State changed from down to starting
2019-07-25T13:58:22.331472+00:00 heroku[web.1]: Starting process with command `/bin/sh -c dep\ ensure\ -vendor-only\ \&\&\ gin\ -p\ \23764`
2019-07-25T13:58:30.788194+00:00 app[web.1]: [gin] Listening on port 23764
2019-07-25T13:58:30.788358+00:00 app[web.1]: [gin] Building...
2019-07-25T13:58:31.274383+00:00 heroku[web.1]: State changed from starting to up
2019-07-25T13:58:31.962224+00:00 app[web.1]: 2019/07/25 13:58:31 Error running: fork/exec /go/src/〇〇/gin-bin: no such file or directory
2019-07-25T13:58:32.066855+00:00 app[web.1]: 2019/07/25 13:58:32 http: proxy error: dial tcp 127.0.0.1:3001: connect: connection refused

デプロイされているファイルを見る

MoreのRun consoleからbashで入る。今回のアプリケーションではbashは使えなかったから、ashで入った。 f:id:utr066:20190620155023p:plainf:id:utr066:20190620155055p:plain bashなりashなり打つだけでok。

コンソールからheroku run bashなんかでも良さそう。

Download Heroku Sourceを使う

Download Heroku Sourceを使えば、herokuアプリケーションのソースをダウンロードすることができる。

https://download-heroku-source.herokuapp.com/

スリープさせない

herokuをスリープさせない方法は以下の記事が詳しい。 casualdevelopers.com

  • shedulerというherokuのアドオン追加
  • UptimeRobotの使用

自分は最初herokuアドオンのscheduler入れてcurlを叩くように設定したが、そもそもアプリケーションでcurlを使える設定にしていなかったので、curl失敗でエラーが起きた。 で、この方法はやめてUptimeRobotでcurlを自分のherokuアプリケーションに対して打つように設定した。

githubと連携して自動デプロイ

herokuはgithubと連携して自動デプロイを設定することができる。 f:id:utr066:20190620160120p:plain

ManualDeployはブランチを選択してボタンクリックでherokuにデプロイすることができる。