Skip to content

ci: separate production and development deploy workflows with improve… #7

ci: separate production and development deploy workflows with improve…

ci: separate production and development deploy workflows with improve… #7

Workflow file for this run

name: Deploy JobPT to Oracle Server
on:
push:
branches:
- main
- dev
- ci/deploy-test
workflow_dispatch: # 수동 실행 허용
jobs:
# ========================================
# 🧪 Production 배포 (main 브랜치)
# ========================================
deploy-prod:
if: github.ref_name == 'main'
name: 🚀 Deploy JobPT (Production)
runs-on: oracle
environment: prod_deploy
steps:
- name: Checkout branch
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create .env file for PROD
run: |
set -e
echo "APP_HOST=${{ vars.APP_HOST }}" > .env
echo "ENVIRONMENT=${{ vars.ENVIRONMENT }}" >> .env
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> .env
echo "UPSTAGE_API_KEY=${{ secrets.UPSTAGE_API_KEY }}" >> .env
echo "SMITHERY_API_KEY=${{ secrets.SMITHERY_API_KEY }}" >> .env
echo "PINECONE_API_KEY=${{ secrets.PINECONE_API_KEY }}" >> .env
echo "TAVILY_API_KEY=${{ secrets.TAVILY_API_KEY }}" >> .env
echo "FRONTEND_CORS_ORIGIN=${{ vars.FRONTEND_CORS_ORIGIN }}" >> .env
echo "LANGFUSE_PUBLIC_KEY=${{ secrets.LANGFUSE_PUBLIC_KEY }}" >> .env
echo "LANGFUSE_SECRET_KEY=${{ secrets.LANGFUSE_SECRET_KEY }}" >> .env
- name: 🚀 Deploy to PROD
run: |
docker compose down --remove-orphans || true
docker compose -p ${{ github.ref_name }} up -d --build
- name: Cleanup old Docker images
run: docker image prune -f
# ========================================
# 🧪 Development 배포 (dev 브랜치)
# ========================================
deploy-dev:
if: github.ref_name == 'dev'
name: 🧪 Deploy JobPT (Development)
runs-on: oracle
environment: dev_deploy
steps:
- name: Checkout branch
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create .env file for DEV
run: |
set -e
echo "APP_HOST=${{ vars.APP_HOST }}" > .env
echo "ENVIRONMENT=${{ vars.ENVIRONMENT }}" >> .env
echo "OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }}" >> .env
echo "UPSTAGE_API_KEY=${{ secrets.UPSTAGE_API_KEY }}" >> .env
echo "SMITHERY_API_KEY=${{ secrets.SMITHERY_API_KEY }}" >> .env
echo "PINECONE_API_KEY=${{ secrets.PINECONE_API_KEY }}" >> .env
echo "TAVILY_API_KEY=${{ secrets.TAVILY_API_KEY }}" >> .env
echo "FRONTEND_CORS_ORIGIN=${{ vars.FRONTEND_CORS_ORIGIN }}" >> .env
echo "LANGFUSE_PUBLIC_KEY=${{ secrets.LANGFUSE_PUBLIC_KEY }}" >> .env
echo "LANGFUSE_SECRET_KEY=${{ secrets.LANGFUSE_SECRET_KEY }}" >> .env
- name: 🚀 Deploy to DEV
run: |
docker compose down --remove-orphans || true
docker compose -p ${{ github.ref_name }} up -d --build
- name: Cleanup old Docker images
run: docker image prune -f