This example repo deploys a HostedZone via domain.yml
and a Pipeline via pipeline.yml
. The Pipeline deploys itself, infra.yml
and a folder called src
into a non-public S3 Bucket. infra.yml
contains a CloudFront Distribution mapped to the S3 Bucket, and the associated RecordSets and Certificate.
You can use the included HostedZone template to spin up the DNS for your domain if you haven't done this already. If you already have a HostedZoneId you can use, skip this step.
- [Optional] Deploy
domain.yml
via CloudFormation to create a HostedZone for your domain. - Generate a Personal Access Token for Github and store it in Secrets Manager.
- Deploy
pipeline.yml
via CloudFormation. - Go to CodePipeline to watch your site deploy itself.
- During the Cloudfront deployment step an ACM Certificate will be created. Check the ACM Console during this step to validate the certificate. You only need to do this once unless you make changes to the domain or certificate in the Cloudformation templates.