Skip to content

Instantly share code, notes, and snippets.

@ashiklom
Created January 15, 2020 19:48
Show Gist options
  • Save ashiklom/9a25fbf6d9639bb13da3c05d1f003633 to your computer and use it in GitHub Desktop.
Save ashiklom/9a25fbf6d9639bb13da3c05d1f003633 to your computer and use it in GitHub Desktop.
GitHub actions + Docker Compose example
# CI overrides
version: '3'
services:
web:
environment:
- DATABASE_URL
- DJANGO_SETTINGS_MODULE
- SECRET_KEY
- PORT
# Local dev overrides
version: '3'
services:
web:
env_file:
- .env
# This was the offending line
volumes:
- ~/app_name/:/code
postgres:
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
# base configuration
version: '3'
services:
web:
container_name: backend
build: .
ports:
- "${PORT}:8000"
depends_on:
- postgres
postgres:
container_name: postgres
image: postgres
restart: always
environment:
- POSTGRES_PASSWORD=${PG_PASS}
ports:
- 5432:5432
# GitHub Actions configuration
name: Docker Image CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
env:
PG_PASS: ${{ secrets.PG_PASS }}
DATABASE_URL: postgresql://postgres:${{ secrets.SECRET_PASSWORD }}@postgres/postgres
DJANGO_SETTINGS_MODULE: app_name.settings.dev
SECRET_KEY: ${{ secrets.SECRET_KEY }}
PORT: 8000
steps:
- uses: actions/checkout@v1
- name: Build the docker-compose stack
run: docker-compose -f docker-compose.yml -f docker-compose.ci.yml up -d
- name: Check running containers
run: docker ps -a
- name: Check logs
run: docker logs backend
- name: Run test suite
run: docker exec backend pytest --skip-auth
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment