feat:캘린더 버그 수정 #39
This file contains 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: DEV CI | ||
on: | ||
# develop 브랜치에 push가 될 때마다 이 action이 실행됩니다. | ||
push: | ||
branches: | ||
- develop | ||
tags: | ||
- 'development-**' | ||
jobs: | ||
Deploy: | ||
runs-on: ubuntu-latest | ||
steps: | ||
# 1 - 소스코드 복사 | ||
- name: Checkout source code | ||
uses: actions/checkout@v3 | ||
# 2 - node_modules 캐싱 | ||
- name: Cache node modules | ||
uses: actions/cache@v3 | ||
with: | ||
path: node_modules | ||
key: ${{ runner.OS }}-build-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.OS }}-build- | ||
${{ runner.OS }}- | ||
# 3 - 의존성 패키지 설치 | ||
- name: Install Dependencies | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
run: yarn install | ||
# 4 - 빌드 | ||
- name: Build | ||
run: yarn build | ||
# Github Repository Secrets를 통해 환경 변수 파일을 생성합니다. | ||
- name: Generate Environment Variables File for Production | ||
run: | | ||
echo "VITE_NODE_ENV=$RVITE_NODE_ENV" >> .env.production | ||
echo "VITE_API_URL=$VITE_API_URL" >> .env.production | ||
echo "VITE_GOOGLE_MAP_API=$VITE_GOOGLE_MAP_API" >> .env.production | ||
echo " VITE_GOOGLE_AUTH_CLIENT_ID=$ VITE_GOOGLE_AUTH_CLIENT_ID" >> .env.production | ||
echo "VITE_KAKAO_REST_API_KEAY=$VITE_KAKAO_REST_API_KEAY" >> .env.production | ||
echo "VITE_REDIRECT_URI=$VITE_REDIRECT_URI" >> .env.production | ||
env: | ||
VITE_NODE_ENV: ${{ secrets.VITE_NODE_ENV }} | ||
VITE_API_URL: ${{ secrets.VITE_API_URL }} | ||
VITE_GOOGLE_MAP_API: ${{ secrets.VITE_GOOGLE_MAP_API }} | ||
VITE_GOOGLE_AUTH_CLIENT_ID: ${{ secrets.VITE_GOOGLE_AUTH_CLIENT_ID }} | ||
VITE_KAKAO_REST_API_KEAY: ${{ secrets.VITE_KAKAO_REST_API_KEAY }} | ||
VITE_REDIRECT_URI: ${{ secrets.VITE_REDIRECT_URI }} | ||
# 5 - AWS 인증 | ||
- name: Configure AWS Credentials | ||
uses: aws-actions/configure-aws-credentials@v2 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | ||
aws-region: ${{ secrets.AWS_REGION }} | ||
# 6 - AWS S3에 빌드 결과물 배포 | ||
## CRA로 생성한 React App은 build 폴더에 빌드 결과물이 들어있습니다. (dist 폴더가 아님!) | ||
- name: Deploy to S3 | ||
run: aws s3 sync ./build s3://${{ secrets.AWS_BUCKET_NAME }} --delete | ||
# 7 - CloudFront 캐시 무효화 | ||
- name: Invalidate CloudFront Cache | ||
run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID }} --paths "/*" |