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で入った。
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と連携して自動デプロイを設定することができる。
ManualDeployはブランチを選択してボタンクリックでherokuにデプロイすることができる。