Merge pull request #53 from jinyeongjang/feat/thunder #41
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: Deploy to S3 and CloudFront | |
on: | |
push: | |
branches: [dev] # dev 브랜치에 푸시될 때 워크플로우 실행 | |
env: | |
CI: false # CI 환경 변수 설정 | |
jobs: | |
build: | |
runs-on: ubuntu-latest # 최신 우분투 환경에서 실행 | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v2 # 워크플로우에서 액세스할 수 있도록 저장소를 체크아웃 | |
- name: Install dependencies | |
run: yarn install # 프로젝트의 의존성 설치 | |
- name: Create .env file | |
run: | | |
echo "VITE_APP_BASE_URL=${{ secrets.VITE_APP_BASE_URL }}" >> .env | |
echo "VITE_APP_KAKAO_MAP_KEY=${{ secrets.VITE_APP_KAKAO_MAP_KEY }}" >> .env | |
- name: Build | |
run: yarn build # 프로젝트 빌드 | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Delete existing contents from S3 bucket | |
run: aws s3 rm s3://bobpience-s3-bucket --recursive | |
- name: S3 Deploy | |
run: aws s3 sync ./dist s3://bobpience-s3-bucket/ --acl bucket-owner-full-control # 현재 빌드된 폴더에 접근 후 S3 버킷에 빌드 파일 업로드 | |
- name: Invalidate CloudFront Cache | |
uses: chetan/invalidate-cloudfront-action@master # CloudFront 캐시 무효화 - CloudFront는 배포 시 적용까지 24시간이 소요된다. 업데이트 내용을 반영하기위해서는 반드시 무효화 처리가 필요하다 | |
env: | |
DISTRIBUTION: ${{ secrets.AWS_DISTRIBUTION_ID }} # CloudFront 배포 ID | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
PATHS: '/*' # 무효화할 경로 | |
continue-on-error: true # 오류 발생 시에도 계속 진행 |