Skip to content

Merge pull request #92 from sayyyho/dev #2

Merge pull request #92 from sayyyho/dev

Merge pull request #92 from sayyyho/dev #2

Workflow file for this run

name: Deploy Django to EC2
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
run: |
cd server
docker build -t my-django-app:latest .
docker tag my-django-app:latest ${{ secrets.DOCKER_USERNAME }}/my-django-app:latest
docker push ${{ secrets.DOCKER_USERNAME }}/my-django-app:latest
- name: Deploy to EC2
env:
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_USER: ${{ secrets.EC2_USER }}
EC2_KEY: ${{ secrets.EC2_KEY }}
DOCKER_COMPOSE_FILE: ${{ secrets.DOCKER_COMPOSE_FILE }}
run: |
echo "${{ secrets.EC2_KEY }}" > ec2_key.pem
chmod 600 ec2_key.pem
# Create docker-compose file on EC2
ssh -i ec2_key.pem $EC2_USER@$EC2_HOST "echo '${{ secrets.DOCKER_COMPOSE_FILE }}' > docker-compose.yml"
# Pull latest Docker image and restart containers
ssh -i ec2_key.pem $EC2_USER@$EC2_HOST << 'EOF'
docker-compose down
docker-compose pull
docker-compose up -d
EOF