Skip to content

refactor: ssh 설정 #15

refactor: ssh 설정

refactor: ssh 설정 #15

name: CI/CD Pipeline
on:
push:
branches:
- feat/front-docker-deploy
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
push: true
context: frontend
file: frontend/zicdding-class.com/Dockerfile
tags: ${{ secrets.DOCKER_USERNAME }}/zicdding-front:latest
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install SSH Client
run: sudo apt-get install -y openssh-client
- name: Execute remote SSH commands
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_PORT: ${{ secrets.SSH_PORT }}
SSH_USER: ${{ secrets.SSH_USER }}
SSH_PASSWORD: ${{ secrets.SSH_PASSWORD }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: |
sshpass -p $SSH_PASSWORD ssh -o StrictHostKeyChecking=no -t $SSH_USER@$SSH_HOST -p $SSH_PORT << 'EOF'
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker pull $DOCKER_USERNAME/zicdding-front:latest
docker stop zicdding-front-app || true
docker rm zicdding-front-app || true
docker run -d --name zicdding-front-app -p 3100:3000 $DOCKER_USERNAME/zicdding-front:latest
EOF