From 1401389eb7fc81a6b1da201a4cc7fff30f7ca494 Mon Sep 17 00:00:00 2001 From: jinyeongjang <80664549+jinyeongjang@users.noreply.github.com> Date: Sun, 13 Oct 2024 03:38:08 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=EF=B8=8F=20Chore:=20S3-CloudFront?= =?UTF-8?q?=20CICD=20Settings=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d8f7e3a..df33a56 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -13,7 +13,12 @@ jobs: steps: - name: Checkout source code - uses: actions/checkout@v2 # 워크플로우에서 액세스할 수 있도록 저장소를 체크아웃 + uses: actions/checkout@v3 # 워크플로우에서 액세스할 수 있도록 저장소를 체크아웃 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' - name: Install dependencies run: yarn install # 프로젝트의 의존성 설치 @@ -21,15 +26,17 @@ jobs: - 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 액세스 키 ID + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # AWS 시크릿 액세스 키 + aws-region: ${{ secrets.AWS_REGION }} # AWS 리전 + - name: S3 Deploy - run: aws s3 sync ./dist s3://bobpience-s3-bucket/ --acl bucket-owner-full-control # 현재 빌드된 폴더에 접근 후 S3 버킷에 빌드 파일 업로드 - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} # AWS 액세스 키 ID - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # AWS 시크릿 액세스 키 - AWS_REGION: ${{ secrets.AWS_REGION }} # AWS 리전 + run: aws s3 sync ./dist s3://bobpience-s3-bucket/ --delete # 현재 빌드된 폴더에 접근 후 S3 버킷에 빌드 파일 업로드, 불필요한 파일 삭제 + - name: Invalidate CloudFront Cache - uses: chetan/invalidate-cloudfront-action@master # CloudFront 캐시 무효화 - CloudFront는 배포 시 적용까지 24시간이 소요된다. 업데이트 내용을 반영하기위해서는 반드시 무효화 처리가 필요하다 - env: - AWS_DISTRIBUTION: ${{ secrets.AWS_DISTRIBUTION_ID }} # CloudFront 배포 ID - PATHS: '/*' # 무효화할 경로 - continue-on-error: true # 오류 발생 시에도 계속 진행 + run: | + aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_DISTRIBUTION_ID }} --paths "/*" + # CloudFront 캐시 무효화 - CloudFront는 배포 시 적용까지 24시간이 소요된다. 업데이트 내용을 반영하기위해서는 반드시 무효화 처리가 필요하다