Skip to content

배포 v1.4.19

배포 v1.4.19 #48

Workflow file for this run

name: Deploy to EC2 (MLOps)
on:
push:
branches: [main]
paths:
- 'MLOps/**'
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy to EC2
uses: appleboy/[email protected]
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
host: ${{ secrets.EC2_HOST_ML }}
username: ${{ secrets.EC2_USER }}
key: ${{ secrets.EC2_SSH_KEY }}
port: 22
envs: OPENAI_API_KEY
script: |
export OPENAI_API_KEY=$OPENAI_API_KEY
echo "OPENAI_API_KEY is $OPENAI_API_KEY"
# 프로젝트 디렉터리로 이동
cd ~/MLOps
# 최신 코드 받기
git pull origin main
# dvc s3 연결
dvc remote modify --local storage access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
dvc remote modify --local storage secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
dvc pull
# MLOps 디렉터리로 이동
cd MLOps
# Docker 컨테이너 재시작 (docker-compose가 있다면)
if [ -f docker-compose.yml ]; then
docker compose down
docker compose rm -f
docker rmi $(docker images -q) -f
docker compose up -d --build
fi
echo "Deployment completed successfully!"