Skip to content

Merge pull request #77 from LikeLion-Hackathon-T1/develop #52

Merge pull request #77 from LikeLion-Hackathon-T1/develop

Merge pull request #77 from LikeLion-Hackathon-T1/develop #52

Workflow file for this run

name: Deploy
on:
push:
branches: [deploy]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: lts/Hydrogen
- name: Cache node modules
uses: actions/cache@v4
id: cache
with:
path: node_modules
key: npm-packages-${{ hashFiles('**/package-lock.json') }}
- name: Install Dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Build
run: CI=false npm run build
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker images
uses: docker/build-push-action@v6.4.1
with:
context: .
file: ./Dockerfile.prod
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/syluv:latest
build-args: |
REACT_APP_KAKAO_JS_KEY=${{ secrets.REACT_APP_KAKAO_JS_KEY }}
REACT_APP_KAKAO_REST_API_KEY=${{ secrets.REACT_APP_KAKAO_REST_API_KEY }}
REACT_APP_KAKAO_REDIRECT_URI=${{ secrets.REACT_APP_KAKAO_REDIRECT_URI }}
REACT_APP_BASE_URL=${{ secrets.REACT_APP_BASE_URL }}
- name: Pull and restart Docker Container
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.SSH_KEY }}
port: 22
timeout: 60s
script: |
echo "Pulling latest Docker image"
sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/syluv:latest
echo "Stopping existing Docker container"
sudo docker stop syluvFrontend || true
sudo docker rm syluvFrontend || true
echo "Starting new Docker container"
sudo docker run -d --rm --name syluvFrontend -p 80:80 ${{ secrets.DOCKERHUB_USERNAME }}/syluv:latest