Команды фазы выпуска Heroku не выполняются

Я пытаюсь развернуть приложение django на heroku с помощью манифеста сборки. Приложение вроде бы развертывается правильно, но команды в фазе выпуска, похоже, не выполняются

Это мой heroku.yml:

build:
  docker:
    web: Dockerfile
release:
  image: web
  command:
    - python manage.py migrate
    - python manage.py collectstatic --noinput
run:
  web: gunicorn hello_django.wsgi:application --bind 0.0.0.0:$PORT

Это мой Dockerfile:

FROM python:3.9-slim

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONBUFFERED 1

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        postgresql-client \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app

# install dependencies
RUN pip install --upgrade pip
COPY requirements.txt ./
RUN pip install -r requirements.txt

# copy source code to container
COPY ./src .

# create directory for statics
RUN mkdir staticfiles

Команды, указанные в фазе выпуска, не выполняются. Я знаю это, потому что база данных не переносится, а каталог staticfiles пуст. Я также знаю, что остальная часть моего приложения на самом деле настроена правильно, потому что когда я включаю эту строку в свой Dockerfile в конце:

RUN python manage.py collectstatic

тогда статические данные собраны и приложение запущено.

Я также установил плагин heroku-manifest с помощью этой команды: heroku plugins:install @heroku-cli/plugin-manifest и установил стек моего приложения на контейнер с помощью heroku stack:set container -a <app name>

Что я упускаю?

Update

Фактически, кажется, что команда migrate выполняется, но не collectstatic. Почему так?

Вернуться на верх