Skip to content

Latest commit

 

History

History
65 lines (57 loc) · 1.5 KB

deploy-static-web-nextjs-s3.md

File metadata and controls

65 lines (57 loc) · 1.5 KB
# .github/workflow/deploy.yaml
name: deploy LP

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
    types: [closed]

jobs:
  build-and-deploy-staging:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Cache package
        id: yarn-cache    
        uses: actions/cache@v3
        with:
          path: node_modules
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: ${{ runner.os }}-yarn-

      - uses: actions/setup-node@v3
        with:
          node-version: 17.6.0
      - run: yarn install
      - run: yarn build
      - run: yarn export

      - name: Configure AWS credentials
        uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
          aws-region: ${{ secrets.AWS_SECRET_KEY }}
      - name: Copy files to the S3 Bucket with the AWS CLI
        run: |
          echo "AWS S3 Sync"  
          aws s3 sync out <bucket>
          echo "AWS CF reset"
          aws cloudfront create-invalidation --region <region> --distribution-id <cf-dist-id> --paths "/*"
// CloudFront Function - replace route
function handler(event) {
  var request = event.request;
  var uri = request.uri;
  if (uri.endsWith("/")) {
    request.uri += "index.html";
  } else {
    if (!uri.includes(".")) {
      request.uri += "/index.html";
    }
  }
  return request;
}