From 0fad80a7a46445de6558eae56f49aec1b6a06d78 Mon Sep 17 00:00:00 2001 From: KimKyuHoi Date: Fri, 15 Nov 2024 00:27:58 +0900 Subject: [PATCH] =?UTF-8?q?env:=20=EB=B0=B0=ED=8F=AC=20test=EB=B0=8F=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/deploy.yml | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..91b75cd --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,65 @@ +name: Deploy to Amazon s3 + +on: + push: + branches: ['week11'] +env: + AWS_REGION: ap-northeast-2 + S3_BUCKET_NAME: gdsc-knu.com + +permissions: + contents: read + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: Checkout source code. + uses: actions/checkout@master + + - name: Cache node modules + uses: actions/cache@v4 + with: + path: node_modules + key: ${{ runner.OS }}-build-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.OS }}-build- + ${{ runner.OS }}- + + - name: Install pnpm + run: | + npm install -g pnpm + + - name: Create .env file + run: | + echo "VITE_API_URL=${{ secrets.VITE_API_URL }}" >> .env + echo "VITE_FAST_API_URL=${{ secrets.VITE_FAST_API_URL }}" >> .env + + + - name: Install Dependencies + run: pnpm install --no-frozen-lockfile --force + + - name: Lint Code + run: pnpm lint + + - name: Build + run: CI='' pnpm run build + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + + - name: Upload to AWS S3 + run: | + aws s3 cp \ + --recursive \ + --region ap-northeast-2 \ + ./dist s3://${{env.S3_BUCKET_NAME}} + + - name: Invalidate CloudFront Cache + run: + aws cloudfront create-invalidation --distribution-id ${{secrets.AWS_DISTRIBUTION_ID }} --paths "/*"