From 15f87afbe20c3070607861c430a195faec780f3c Mon Sep 17 00:00:00 2001 From: sohee <106158901+ccconac@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:48:14 +0900 Subject: [PATCH] =?UTF-8?q?:construction=5Fworker:=20ci:=20yml=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yml | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..595b2802 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: Workflow for S3 Deploy + on: + push: + branches: + - release + jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [18.x] + steps: + - name: Checkout Source Code + uses: actions/checkout@v3 + + - name: .env setting + run: echo "VITE_API_URI=${{ secrets.VITE_API_URI }}" >> ./grass-diary/.env + + - name: Node.js + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + cache-dependency-path: ./grass-diary/package-lock.json + + - name: Install Module + run: npm --force ci + working-directory: ./grass-diary/ + + - name: Build Production + run: npm run build --if-present + working-directory: ./grass-diary/ + env: + CI: false + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Deploy to S3 + run: aws s3 sync --region us-east-1 ./dist s3://grasstestdiarytest --delete + working-directory: ./grass-diary/ + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + + - name: Invalidate CloudFront Cache + run: aws cloudfront create-invalidation --distribution-id ${{ secrets.DEV_AWS_DISTRIBUTION_ID }} --paths "/*"