From d950789821baca50ae787cee79b59315c7375187 Mon Sep 17 00:00:00 2001 From: Jiwon <124144606+jiwonly@users.noreply.github.com> Date: Wed, 9 Jul 2025 23:35:35 +0900 Subject: [PATCH 1/2] Create Dockerfile --- Dockerfile | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b61fc13 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.10-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install -r requirements.txt + +COPY ai_server.py . + +CMD ["uvicorn", "ai_server:app", "--host", "0.0.0.0", "--port", "8000"] From 8aa791ebaa1daf8e645b35bf9710fa3e0f8e3054 Mon Sep 17 00:00:00 2001 From: jiwon Date: Thu, 10 Jul 2025 00:32:06 +0900 Subject: [PATCH 2/2] feat: workflow --- .github/workflows/cd-dev.yml | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/cd-dev.yml diff --git a/.github/workflows/cd-dev.yml b/.github/workflows/cd-dev.yml new file mode 100644 index 0000000..661c466 --- /dev/null +++ b/.github/workflows/cd-dev.yml @@ -0,0 +1,53 @@ +name: CD - Dev + +on: + workflow_dispatch: + push: + branches: + - dev + +jobs: + build: + name: Build & Push Docker Image + runs-on: ubuntu-latest + + steps: + - name: Discord Notification + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} + uses: Ilshidur/action-discord@master + with: + args: + '📈 AI predict 서버 배포 시작' + + # 코드 체크아웃 + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: SSH to EC2 and deploy + uses: appleboy/ssh-action@v1.2.0 + with: + host: ${{ secrets.EC2_HOST }} + username: ${{ secrets.EC2_USER }} + key: ${{ secrets.EC2_SSH_KEY }} + script: | + cd ai-predict-server + git pull + sudo docker stop weathertago-ai-server || true + sudo docker rm -f weathertago-ai-server || true + sudo docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/weathertago-ai-server:latest . + sudo docker run -d --name weathertago-ai-server -p 8000:8000 ${{ secrets.DOCKER_HUB_USERNAME }}/weathertago-ai-server:latest + env: + ACTIONS_RUNNER_DEBUG: true + + + - name: Discord Notification + env: + DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }} + uses: Ilshidur/action-discord@master + with: + args: + '😎 AI predict 서버 배포 완료됨' +