π FIX: λ°°ν¬ νκ²½μ λ ν¬μ§ν 리 ν΄λ ꡬ쑰 μμ #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| ' |