Skip to content

Instantly share code, notes, and snippets.

@samkit-jain
Created September 15, 2021 12:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samkit-jain/1d19a780a2059af024bf826504ff6059 to your computer and use it in GitHub Desktop.
Save samkit-jain/1d19a780a2059af024bf826504ff6059 to your computer and use it in GitHub Desktop.
version: 0.2
env:
variables:
ECR_REGISTRY: 1234567890.dkr.ecr.ap-southeast-1.amazonaws.com
ECR_REPOSITORY: repository
secrets-manager:
DOCKER_HUB_USERNAME: arn:aws:secretsmanager:ap-southeast-1:1234567890:secret:dockerhub:username
DOCKER_HUB_PASSWORD: arn:aws:secretsmanager:ap-southeast-1:123457890:secret:dockerhub:password
phases:
install:
runtime-versions:
python: 3.8
pre_build:
commands:
- echo "Logging in to ECR"
- aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY
- echo "Logging in to Docker"
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
build:
commands:
- echo "Building Docker image"
- docker build -t $ECR_REPOSITORY . -f path/to/Dockerfile
- echo "Running container"
- docker run -d --rm --entrypoint=/usr/bin/tail --net=host --name=my-container $ECR_REPOSITORY -f /dev/null
- echo "Start the PostgreSQL database"
- docker run -d --rm -P -p 127.0.0.1:5432:5432 -e POSTGRES_DB=db_name -e POSTGRES_USER=username -e POSTGRES_PASSWORD=password --name postgres-container postgres:13.1
- echo "Running tests using Pytest"
- docker exec my-container bash -c "python -m pytest tests/"
- echo "Cleanup"
- docker rm --force my-container
- docker rm --force postgres-container
post_build:
commands:
# This is for deploying your docker image. Replace with your steps.
- bash deploy.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment