From a375da37ae134ee01f740285b7a32c3e83c3bfe7 Mon Sep 17 00:00:00 2001 From: seung365 Date: Fri, 8 Nov 2024 15:13:39 +0900 Subject: [PATCH] =?UTF-8?q?build:=20s3=20=EB=B0=B0=ED=8F=AC=20ci=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/prod-ci.yml | 56 +++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/prod-ci.yml diff --git a/.github/workflows/prod-ci.yml b/.github/workflows/prod-ci.yml new file mode 100644 index 0000000..6912b45 --- /dev/null +++ b/.github/workflows/prod-ci.yml @@ -0,0 +1,56 @@ +name: MASTER CI + +on: + push: + branches: + - Master + tags: + - "production-**" + +jobs: + Deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout source code + uses: actions/checkout@v3 + + - name: Setup PNPM + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'pnpm' + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + **/node_modules + ~/.pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm- + + - name: Install Dependencies + run: pnpm install + + - name: Build + run: pnpm build + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_S3_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_S3_SECRET_ACCESS_KEY_ID }} + aws-region: ap-northeast-2 + + - name: Deploy to S3 + run: aws s3 sync ./dist s3://${{ secrets.AWS_S3_BUCKET_NAME }} --delete + + - name: Invalidate CloudFront Cache + run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_ID }} --paths "/*" \ No newline at end of file