From 36a66822becaeb4268e6e856c630d7f1c289358f Mon Sep 17 00:00:00 2001 From: Daewon Kang <96184691+Daewony@users.noreply.github.com> Date: Tue, 19 Mar 2024 01:42:52 +0900 Subject: [PATCH] Create build-and-deploy.yaml --- .github/workflows/build-and-deploy.yaml | 48 +++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/build-and-deploy.yaml diff --git a/.github/workflows/build-and-deploy.yaml b/.github/workflows/build-and-deploy.yaml new file mode 100644 index 0000000..3a61aa0 --- /dev/null +++ b/.github/workflows/build-and-deploy.yaml @@ -0,0 +1,48 @@ +--- +name: Build and Deploy React App to CloudFront +on: + push: + branches: + - main +jobs: + build-and-deploy: + name: Build and Deploy + runs-on: ubuntu-latest + env: + BUCKET: bookpharmacy.store + DIST: build + REGION: ap-northeast-2 + DIST_ID: E1PK5JJPVPO0BO + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - 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: ${{ env.REGION }} + + - uses: actions/setup-node@v2 + with: + node-version: '18' + + - name: Install Dependencies + run: | + node --version + yarn install --production=true + + - name: Build Static Website + run: yarn build + + - name: Copy files to the production website with the AWS CLI + run: | + aws s3 sync --delete ${{ env.DIST }} s3://${{ env.BUCKET }} + + - name: Copy files to the production website with the AWS CLI + run: | + aws cloudfront create-invalidation \ + --distribution-id ${{ env.DIST_ID }} \ + --paths "/*"