Skip to content

cn-terraform/terraform-aws-ci-cd-system

Repository files navigation

CI-CD system on AWS ECS Fargate

Test Continuous Integration/Delivery environment on AWS ECS.

Tools included

Use this code as a Terraform module

Check valid versions on:

Deploy CI/CD Infrastructure standalone

  1. Clone this repository.

  2. To download required plugins and modules run:

     terraform init
    
  3. To update dependencies run:

     terraform get --update
    
  4. To plan a deployment and check what is going to change run:

     terraform plan
    
  5. To deploy changes run:

     terraform apply
    

Install pre commit hooks.

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

Requirements

Name Version
terraform >= 0.13
aws >= 4

Providers

No providers.

Modules

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

Resources

No resources.

Inputs

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

Outputs

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