Skip to content

[EC-77] feat: 유고 결석 페이지 UI 구현 (#65) #38

[EC-77] feat: 유고 결석 페이지 UI 구현 (#65)

[EC-77] feat: 유고 결석 페이지 UI 구현 (#65) #38

Workflow file for this run

name: deploy service
on:
push:
branches:
- main
- deploy/*
jobs:
deploy:
runs-on: ubuntu-24.04
steps:
- name: Checkout Project
uses: actions/checkout@v4
- name: Use Cache for Build Image Layer Save
uses: actions/cache@v4.2.0
with:
path: /tmp/.build-cache
key: docker-image-cache-${{ github.sha }}
restore-keys: docker-image-cache-
- name: Create .env file
run: echo """${{ secrets.ENV_FILE }}""" >> .env
- name: Add ssh-agent
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add Remote Server FingerPrint to Know Hosts
run: ssh-keyscan -H -p ${{secrets.SSH_PORT}} ${{secrets.SSH_HOST}} >> ~/.ssh/known_hosts || true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create BuildKit Builder
run: |
docker buildx create --use --name buildkit
docker buildx use buildkit
- name: Login DockerHub
run: echo '${{ secrets.DOCKER_PASSWORD }}' | docker login -u '${{ secrets.DOCKER_USERNAME }}' --password-stdin
- name: Docker Image Build
run: docker compose build --build-arg BUILDKIT_INLINE_CACHE=1
- name: Docker Image Push
run: docker compose push
- name: Create work directory on EC2
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
echo "Current directory: $(pwd)"
mkdir -p ~/work-directory
- name: Copy .env and docker-compose.yml Into EC2
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
source: "docker-compose.yml, .env"
target: "~/work-directory"
- name: Pull Image from Docker Hub
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
cd ~/work-directory
docker compose pull
- name: UP Containers
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
cd ~/work-directory
docker compose down
docker compose up -d
docker system prune -f