Skip to content

CD

CD #18

Workflow file for this run

name: CD
on:
workflow_run:
workflows: ["CI"]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# 깃 레포 체크아웃
- name: Checkout repository
uses: actions/checkout@v4
# .env 생성
- name: Create .env file
run: echo "${{ secrets.ENV_FILE }}" > .env
# EC2로 파일 전송
- name: Copy files to EC2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: 22
source: "docker/*,.env,nginx/,deploy.sh"
target: "/home/ubuntu/tinybite/"
# EC2에서 도커 컨테이너 재배포
- name: Deploy to EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
port: 22
script: |
cd /home/ubuntu/tinybite
export GHCR_TOKEN=${{ secrets.GHCR_TOKEN }}
export GHCR_USERNAME=${{ github.actor }}
echo $GHCR_TOKEN | docker login ghcr.io -u $GHCR_USERNAME --password-stdin
chmod +x deploy.sh
./deploy.sh