Skip to content

Dev (#10)

Dev (#10) #27

Workflow file for this run

name: Docker Image CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-docker-image:
runs-on: ubuntu-latest
steps:
- name: Check out the code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PWD }}
- name: Build Docker image
run: docker build -t ${{ secrets.DOCKER_USER }}/bada-py .
- name: Push Docker image to DockerHub
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: docker push ${{ secrets.DOCKER_USER }}/bada-py
run-docker-image-on-ec2:
needs: build-docker-image
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: self-hosted
steps:
- name: docker pull
run: sudo docker pull ${{ secrets.DOCKER_USER }}/bada-py
- name: Stop container if running
run: |
if [ "$(sudo docker ps -q -f name=bada-py-server)" ]; then
echo "Stopping container bada-py-server..."
sudo docker stop bada-py-server
else
echo "Container bada-py-server is not running. Skipping stop command."
fi
- name: Create .env file
run: echo "${{ secrets.BADA_PY_ENV }}" > ~/bada-py/.env
- name: docker run new container
run: sudo docker run --name bada-py-server --rm -d -p 8000:8000 --env-file ~/bada-py/.env ${{ secrets.DOCKER_USER }}/bada-py
- name: Clean up unused images
run: |
sudo docker image prune -af