fix: lottie경로 수정 #42
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
on: | |
# trigger가 되길 바라는 action (push / pull request가 있다) | |
push: | |
branches: | |
# push가 되면 actions를 실행시킬 브랜치 | |
- main | |
jobs: | |
build: | |
name: react build & deploy | |
# runner가 실행될 환경지정 | |
runs-on: ubuntu-latest | |
# name은 단계별로 실행되는 액션들의 설명을 담은 것으로, 나중에 github action에서 workflow에 표시됨 | |
# uses 키워드로 Action을 불러옴 | |
# 레포지토리에 접근하여 CI서버로 코드를 내려받는 과정 | |
steps: | |
- name: checkout Github Action | |
uses: actions/checkout@v3 | |
- name: .env setting | |
run: | | |
echo "VITE_REACT_APP_HTTP_URL=${{ secrets.VITE_REACT_APP_HTTP_URL }}" >> .env | |
echo "VITE_REACT_APP_KAKAO_REST_API=${{ secrets.VITE_REACT_APP_KAKAO_REST_API }}" >> .env | |
- name: Get npm cache directory | |
id: npm-cache-dir | |
run: | | |
echo "::set-output name=dir::$(npm config get cache)" | |
- uses: actions/cache@v3 | |
id: npm-cache | |
with: | |
path: ${{ steps.npm-cache-dir.outputs.dir }} | |
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: install yarn dependencies | |
run: yarn install | |
- name: react build | |
run: yarn run build | |
# aws에 접근하기 위한 권한을 받아옴 | |
- 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: ap-northeast-2 | |
# S3에 build 파일을 올림 | |
- name: Upload to S3 | |
env: | |
BUCKET_NAME: ${{ secrets.AWS_BUCKET_NAME }} | |
run: | | |
aws s3 cp --recursive --region ap-northeast-2 dist s3://$BUCKET_NAME | |
# cloudfront로 배포되는 파일은 기본설정 상 24시간동안 캐시가 유지됨 | |
# 배포 후 S3에는 최신 정적리소스가 올라가있지만 엣지로케이션엔 이전 파일이 올라가있는 상태라는 의미 | |
# 바로 변화가 반영되길 바란다면 invalidation을 해주면 된다. | |
# 해당 부분은 과금될 수 있으니 확인 후 사용 | |
- name: CloudFront Invalidation | |
env: | |
CLOUD_FRONT_ID: ${{ secrets.AWS_CLOUDFRONT_ID }} | |
run: aws cloudfront create-invalidation --distribution-id $CLOUD_FRONT_ID --paths "/*" |