Skip to content

Merge pull request #14 from blaybus-piro/feature/jiyo #4

Merge pull request #14 from blaybus-piro/feature/jiyo

Merge pull request #14 from blaybus-piro/feature/jiyo #4

Workflow file for this run

name: blaybus CI/CD
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# (1) 깃 체크아웃
- name: Check out repository
uses: actions/checkout@v2
# (2) Docker 이미지 빌드
- name: Build Docker Image
run: |
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest .
# (3) DockerHub 로그인
- name: DockerHub Login
run: |
echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
# (4) Docker 이미지 푸시
- name: Push Docker Image
run: |
docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest
# (5) SSH로 서버 접속 후 컨테이너 실행
- name: Deploy to Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
# 이미 돌아가는 컨테이너가 있다면 중단/제거
docker stop ${{ secrets.DOCKERHUB_REPO_NAME }} || true
docker rm ${{ secrets.DOCKERHUB_REPO_NAME }} || true
# 최신 이미지 pull
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/${{ secrets.DOCKERHUB_REPO_NAME }}:latest
# Docker-Compose 실행
docker-compose up -d