0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初心者向け)Herokuへデプロイ時にcollectstaticを実行したくない場合の設定

Last updated at Posted at 2021-10-23

外部クラウドに静的ファイルをおいた場合、デプロイ時にエラーが出るんです

Herokuの内部には静的ファイル(staticとかmediaとか)を置くべきではない、っていうかおいておくと再デプロイ時やDynoの再起動で消えてしまうみたいです。そんな場合はAWSやGCPにバケットを設定してそこにデータを置いとくのが定石のようです。

で、そんな設定でHerokuにデプロイするとエラーが発生してしまいますね。

!     Error while running '$ python manage.py collectstatic --noinput'.

インターネッツを検索するとその対応策がすぐに見つかるんですが、私の場合なんだかうまくいきませんでした。

$ heroku config:set DISABLE_COLLECTSTATIC=1

対策の内容を読むと、環境変数のDISABLE_COLLECTSTATICを1に設定しとけってことですが、heroku CLIからコマンドを打ってもエラーが出てしまいました。

追記)
検索して多数ヒットする上のコマンドでは、対象のアプリ名がないのでおかしいなーと思ってました。実際エラーになるわけで、正式なコマンドは以下の通りだと思われます。

$ heroku config:set -a [webアプリ名] DISABLE_COLLECTSTATIC=1

なので環境変数ならばHeroku ダッシュボードから設定できたことを思いだしてやってみたらうまく動きました。

Heroku ダッシュボードのSettings画面にあるConfig Varsに以下のように環境変数のDISABLE_COLLECTSTATICをとその値1を設定します。

スクリーンショット 2021-10-23 11.04.29.png

頑張ってクラウドに静的データが置けるようになったのに、デプロイ時にエラーが発生して困っている人(それは私です)の役にたてば良いなという情報です。

現場からは以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?