@@ -4,7 +4,7 @@ permissions:
44
55on :
66 push :
7- branches : [ develop ]
7+ branches : [ develop, main ]
88 tags : [ 'development-**' ]
99 workflow_dispatch :
1010
1616 deploy :
1717 runs-on : ubuntu-latest
1818 env :
19- NEXT_PUBLIC_BASE_API_URL : ${{ secrets.NEXT_PUBLIC_BASE_API_URL }}
2019 NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID : ${{ secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_CLIENT_ID }}
2120 NEXT_PUBLIC_GOOGLE_REDIRECT_URI : ${{ secrets.NEXT_PUBLIC_GOOGLE_REDIRECT_URI }}
2221
3029 node-version : ' 20'
3130 cache : ' yarn' # yarn.lock 기반 자동 캐시
3231
32+ - name : Set env for develop
33+ if : github.ref == 'refs/heads/develop'
34+ run : |
35+ echo "TARGET_BUCKET=${{ secrets.AWS_S3_BUCKET_DEV }}" >> $GITHUB_ENV
36+ echo "NEXT_PUBLIC_APP_ENV=dev" >> $GITHUB_ENV
37+ echo "NEXT_PUBLIC_BASE_API_URL=${{ secrets.NEXT_PUBLIC_BASE_API_URL_DEV }}" >> $GITHUB_ENV
38+
39+ - name : Set env for main
40+ if : github.ref == 'refs/heads/main'
41+ run : |
42+ echo "TARGET_BUCKET=${{ secrets.AWS_S3_BUCKET }}" >> $GITHUB_ENV
43+ echo "NEXT_PUBLIC_APP_ENV=production" >> $GITHUB_ENV
44+ echo "NEXT_PUBLIC_BASE_API_URL=${{ secrets.NEXT_PUBLIC_BASE_API_URL }}" >> $GITHUB_ENV
45+
3346 - name : Install dependencies
3447 run : yarn install --frozen-lockfile
3548
@@ -47,22 +60,22 @@ jobs:
4760 # 프로젝트에 맞게 include/exclude 패턴 조정
4861 - name : Upload static assets (long cache)
4962 run : |
50- aws s3 cp ./out s3://${{ secrets.AWS_S3_BUCKET }} \
63+ aws s3 cp ./out s3://$TARGET_BUCKET \
5164 --recursive \
5265 --exclude "*" \
5366 --include "_next/**" --include "static/**" --include "assets/**" \
5467 --cache-control "public, max-age=31536000, immutable" \
5568 --metadata-directive REPLACE
5669 - name : Upload html (no cache)
5770 run : |
58- aws s3 cp ./out s3://${{ secrets.AWS_S3_BUCKET }} \
71+ aws s3 cp ./out s3://$TARGET_BUCKET \
5972 --recursive \
6073 --exclude "_next/*" --exclude "static/*" --exclude "assets/*" \
6174 --cache-control "no-cache" \
6275 --metadata-directive REPLACE
6376 # (단순화 원하면 기존 sync 한 줄 유지 가능)
6477 # - name: Deploy to S3
65- # run: aws s3 sync ./out s3://${{ secrets.AWS_S3_BUCKET }} --delete
78+ # run: aws s3 sync ./out s3://$TARGET_BUCKET --delete
6679
6780 - name : Invalidate CloudFront Cache
6881 run : |
0 commit comments