CRA app deployment via Terraform AWS S3, CloudFront, CodePipeline, CodeBuild
- NodeJS 16
- Terraform
-
- Remove any existing Terraform binary (/usr/bin/terraform and/or /usr/local/bin/terraform)
-
- Install m1-terraform-provider-helper
- 2.1.
brew install kreuzwerker/taps/m1-terraform-provider-helper
-
- Install Terraform
- 3.1.
brew tap hashicorp/tap - 3.2.
brew install hashicorp/tap/terraform
-
- Install the hashicorp/template version v2.2.0
- 4.1.
m1-terraform-provider-helper activate - 4.2.
m1-terraform-provider-helper install hashicorp/template -v v2.2.0
➜ ~ terraform --version Terraform v1.3.1 on darwin_arm64 + provider registry.terraform.io/hashicorp/aws v4.33.0 + provider registry.terraform.io/hashicorp/random v3.4.3 + provider registry.terraform.io/hashicorp/template v2.2.0 - Create React App
npx create-react-app terraform-react-s3-cloudfront-pipeline --template=typescript
- Change your App name
terraform/main.tfapplication_name = "{your app name}"environment = "{app environment name}"
- Change your repository info
terraform/main.tfrepository_name = "{your repository}"branch_name = "{your deploy branch}"
- Change your domain
terraform/main.tfcertificate_domain_name = "{your ACM name}"should beus-east-1regioncloudfront_domain_name = "{your Domain name}"
-
cd terraform -
terraform init -
terraform apply -
Check outputs
GitHub 리포 연결을 위해서는 콘솔에서 직접 연결해야 함. CodePipeline 에서 Setting
terraform apply 이후
CodePipeline > Settings > Connections
Status = Pending 인 커넥션 선택 후 Update pending connection 으로 Github 연결