Skip to content

๐Ÿ› FIX: Dockerfile์˜ ENV ์œ„์น˜ ์ˆ˜์ • #4

๐Ÿ› FIX: Dockerfile์˜ ENV ์œ„์น˜ ์ˆ˜์ •

๐Ÿ› FIX: Dockerfile์˜ ENV ์œ„์น˜ ์ˆ˜์ • #4

Workflow file for this run

name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- name: ์ฝ”๋“œ ์ฒดํฌ์•„์›ƒ
uses: actions/checkout@v4
- name: SSH ํ‚ค ์„ค์ •
env:
PRIVATE_KEY: ${{ secrets.AWS_PRIVATE_KEY }}
run: |
mkdir -p ~/.ssh
echo "$PRIVATE_KEY" > ~/.ssh/aws.pem
sed -i 's/\\n/\n/g' ~/.ssh/aws.pem # ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž ์ฒ˜๋ฆฌ
chmod 600 ~/.ssh/aws.pem
- name: EC2์— ๋ฐฐํฌ
env:
HOST: ${{ secrets.EC2_HOST }}
USER: ${{ secrets.EC2_USER }}
run: |
ssh -i ~/.ssh/aws.pem -o StrictHostKeyChecking=no $USER@$HOST '
# ์ €์žฅ์†Œ ํ™•์ธ ๋ฐ ํด๋ก /์—…๋ฐ์ดํŠธ
if [ -d ~/SkillBridge/.git ]; then
# ๊ธฐ์กด ์ €์žฅ์†Œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ
cd ~/SkillBridge &&
git fetch --all &&
git reset --hard origin/main
else
# ์ €์žฅ์†Œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ ํด๋ก 
mkdir -p ~/SkillBridge &&
git clone https://github.com/DjangoBookMakers/SkillBridge.git ~/SkillBridge &&
cd ~/SkillBridge
fi
# ํ™˜๊ฒฝ ์„ค์ •
echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" > .env.prod &&
echo "ALLOWED_HOSTS=${{ secrets.ALLOWED_HOSTS }}" >> .env.prod &&
echo "PORTONE_PG_PROVIDER=${{ secrets.PORTONE_PG_PROVIDER }}" >> .env.prod &&
echo "PORTONE_SHOP_ID=${{ secrets.PORTONE_SHOP_ID }}" >> .env.prod &&
echo "PORTONE_API_KEY=${{ secrets.PORTONE_API_KEY }}" >> .env.prod &&
echo "PORTONE_API_SECRET=${{ secrets.PORTONE_API_SECRET }}" >> .env.prod &&
echo "GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }}" >> .env.prod &&
echo "GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }}" >> .env.prod &&
echo "KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }}" >> .env.prod &&
echo "KAKAO_CLIENT_SECRET=${{ secrets.KAKAO_CLIENT_SECRET }}" >> .env.prod &&
echo "POSTGRES_DB=${{ secrets.POSTGRES_DB }}" > .env.prod-db &&
echo "POSTGRES_USER=${{ secrets.POSTGRES_USER }}" >> .env.prod-db &&
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env.prod-db &&
echo "POSTGRES_HOST=${{ secrets.POSTGRES_HOST }}" >> .env.prod-db &&
echo "POSTGRES_PORT=${{ secrets.POSTGRES_PORT }}" >> .env.prod-db &&
# Docker ์ปจํ…Œ์ด๋„ˆ ์žฌ์‹œ์ž‘
docker compose down &&
docker compose up -d --build
'