Skip to content

Update Dockerfile

Update Dockerfile #2

Workflow file for this run

name: Build Docker Images and Deploy
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
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: 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 }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
docker load -i ~/frontend.tar
docker load -i ~/backend.tar
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