Test Continuous Integration/Delivery environment on AWS ECS.
- Jenkins
- Source Code: https://github.com/cn-terraform/terraform-aws-jenkins
- Terraform Module: https://registry.terraform.io/modules/cn-terraform/jenkins/aws
- SonarQube
- Source Code: https://github.com/cn-terraform/terraform-aws-sonarqube
- Terraform Module: https://registry.terraform.io/modules/cn-terraform/sonarqube/aws
Check valid versions on:
- Github Releases: https://github.com/cn-terraform/terraform-aws-ci-cd-system/releases
- Terraform Module Registry: https://registry.terraform.io/modules/cn-terraform/ci-cd-system/aws
-
Clone this repository.
-
To download required plugins and modules run:
terraform init
-
To update dependencies run:
terraform get --update
-
To plan a deployment and check what is going to change run:
terraform plan
-
To deploy changes run:
terraform apply
Pleas run this command right after cloning the repository.
pre-commit install
For that you may need to install the folowwing tools:
In order to run all checks at any point run the following command:
pre-commit run --all-files
Name | Version |
---|---|
terraform | >= 0.13 |
aws | >= 4 |
No providers.
Name | Source | Version |
---|---|---|
jenkins | cn-terraform/jenkins/aws | 2.0.16 |
networking | cn-terraform/networking/aws | 2.0.14 |
nexus | cn-terraform/nexus/aws | 1.0.13 |
sonar | cn-terraform/sonarqube/aws | 2.0.26 |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
availability_zones | List of availability zones to be used by subnets | list(any) |
n/a | yes |
name_prefix | Name prefix for resources on AWS | any |
n/a | yes |
private_subnets_cidrs_per_availability_zone | List of CIDRs to use on each availability zone for private subnets | list(any) |
n/a | yes |
public_subnets_cidrs_per_availability_zone | List of CIDRs to use on each availability zone for public subnets | list(any) |
n/a | yes |
region | AWS Region the infrastructure is hosted in | any |
n/a | yes |
vpc_cidr_block | AWS VPC CIDR Block | any |
n/a | yes |
Name | Description |
---|---|
jenkins_master_alb_arn | Jenkins Master Application Load Balancer ARN |
jenkins_master_alb_arn_suffix | Jenkins Master Application Load Balancer ARN Suffix |
jenkins_master_alb_dns_name | Jenkins Master Application Load Balancer DNS Name |
jenkins_master_alb_id | Jenkins Master Application Load Balancer ID |
jenkins_master_alb_zone_id | Jenkins Master Application Load Balancer Zone ID |
nexus_lb_arn | Nexus Load Balancer ARN |
nexus_lb_arn_suffix | Nexus Load Balancer ARN Suffix |
nexus_lb_dns_name | Nexus Load Balancer DNS Name |
nexus_lb_id | Nexus Load Balancer ID |
nexus_lb_zone_id | Nexus Load Balancer Zone ID |
sonar_lb_arn | SonarQube Load Balancer ARN |
sonar_lb_arn_suffix | SonarQube Load Balancer ARN Suffix |
sonar_lb_dns_name | SonarQube Load Balancer DNS Name |
sonar_lb_id | SonarQube Load Balancer ID |
sonar_lb_zone_id | SonarQube Load Balancer Zone ID |