Как запускать тесты Django в Docker с помощью GitHub Actions
Я строю свой первый полный CI/CD конвейер для проекта Django/React.js. В нем используются 2 рабочих процесса: build.yml
и deploy.yml
. build.yml
сначала собирает образы, затем толкает их в GH Packages. Затем он извлекает образы в новом задании и запускает тесты (хотя я думаю, что это неправильно, поскольку я думаю, что задания выполняются параллельно - я еще не добрался до этой части).
Build.yml
docker-compose.yml
version: "3.8"
services:
db:
image: postgres:13-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
backend:
build: ./backend
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./backend/:/usr/src/backend/
ports:
- 8000:8000
depends_on:
- db
backend-tests:
image: digibrain_backend:latest
volumes:
- ./backend/:/usr/src/backend/
command: echo Hello world
env_file:
- .env
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
- POSTGRES_DB=projectdb
depends_on:
- backend
- db
volumes:
postgres_data:
Проблема, с которой я сталкиваюсь, заключается в том, что когда мое задание Run Automated Tests
запускается docker-compose -f docker-compose.yml up --build
, оно застревает, ничего не делая. Тесты выполняются, затем образ просто собирается, а действия ничего не делают.
Нужно ли выключать его после тестов? Любая помощь будет принята с благодарностью.