The website code is generated with the help of the Gatsby Web Framework, using Yarn as a package manager.
yarn install
yarn develop
yarn install --frozen-lockfile --prod
yarn build
yarn deploy
yarn invalidate-cache
The deploy steps are automatically handled by a CI pipeline, described by a GitHub Action Workflow.
The following permissions are needed to properly deploy to the S3 bucket and invalidate the CloudFront cache.
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"cloudfront:CreateInvalidation"
],
"Resource": [
"arn:aws:cloudfront::<ACCOUNT_ID>:distribution/<DISTRIBUTION_ID>",
"arn:aws:s3:::<BUCKET_NAME>/*",
"arn:aws:s3:::<BUCKET_NAME>"
]
}