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
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 |