From 649c149a3e81d30bb69c2071d6b719662a14c87e Mon Sep 17 00:00:00 2001 From: Jonathan Inge Arvesen Folland Date: Mon, 3 Mar 2025 18:11:59 +0100 Subject: [PATCH] Create build.yaml --- .github/workflows/build.yaml | 46 ++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..46e2e86 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,46 @@ +name: Build Docker Images + +on: + push: + branches: + - main + paths: + - 'frontend/Dockerfile' + - 'backend/Dockerfile' + - 'frontend/**/*' + - 'backend/**/*' + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build frontend Docker image + run: | + docker build -t frontend:latest ./frontend + + - name: Build backend Docker image + run: | + docker build -t backend:latest ./backend + + - name: SSH to the server and deploy Docker containers + uses: appleboy/ssh-action@v0.1.7 + with: + host: ${{ secrets.SERVER_IP }} # Replace with your server IP + username: ${{ secrets.SERVER_USER }} # Replace with your server username + key: ${{ secrets.SSH_PRIVATE_KEY }} # Your private SSH key (add this in GitHub Secrets) + script: | + docker pull frontend:latest || true # In case the image is already built on the server + docker pull backend:latest || true # In case the image is already built on the server + docker stop frontend || true + docker rm frontend || true + docker stop backend || true + docker rm backend || true + docker run -d --name frontend frontend:latest + docker run -d --name backend backend:latest