From cbe7bd3efd8128773f00b1853fa4c9cf280b7444 Mon Sep 17 00:00:00 2001 From: Jonathan Inge Arvesen Folland Date: Mon, 3 Mar 2025 18:14:58 +0100 Subject: [PATCH] Update build.yaml --- .github/workflows/build.yaml | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 46e2e86..adfadbb 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,14 +1,14 @@ -name: Build Docker Images +name: Build Docker Images and Deploy on: push: branches: - main paths: - - 'frontend/Dockerfile' - - 'backend/Dockerfile' - - 'frontend/**/*' - - 'backend/**/*' + - 'frontend/Dockerfile' + - 'backend/Dockerfile' + - 'frontend/**/*' + - 'backend/**/*' jobs: build-and-deploy: @@ -24,20 +24,31 @@ jobs: - name: Build frontend Docker image run: | docker build -t frontend:latest ./frontend + docker save -o frontend.tar frontend:latest - name: Build backend Docker image run: | docker build -t backend:latest ./backend + docker save -o backend.tar backend:latest - - name: SSH to the server and deploy Docker containers + - name: Copy Docker images to the server + uses: appleboy/scp-action@v0.1.0 + with: + host: ${{ secrets.SERVER_IP }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + source: "frontend.tar,backend.tar" + target: "~/" + + - name: SSH to the server and load Docker images 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) + host: ${{ secrets.SERVER_IP }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} 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 load -i ~/frontend.tar + docker load -i ~/backend.tar docker stop frontend || true docker rm frontend || true docker stop backend || true