Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cn-terraform/terraform-aws-ci-cd-system
CI-CD System deployed on AWS using Terraform
https://github.com/cn-terraform/terraform-aws-ci-cd-system
amazon-web-services artifactory aws cloud continuous-delivery continuous-deployment continuous-integration jenkins nexus sonarqube terraform-module
Last synced: 9 days ago
JSON representation
CI-CD System deployed on AWS using Terraform
- Host: GitHub
- URL: https://github.com/cn-terraform/terraform-aws-ci-cd-system
- Owner: cn-terraform
- License: apache-2.0
- Created: 2019-01-28T19:38:17.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-10-12T16:11:53.000Z (about 1 year ago)
- Last Synced: 2024-11-05T18:17:27.074Z (9 days ago)
- Topics: amazon-web-services, artifactory, aws, cloud, continuous-delivery, continuous-deployment, continuous-integration, jenkins, nexus, sonarqube, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/cn-terraform/ci-cd-system
- Size: 133 KB
- Stars: 16
- Watchers: 4
- Forks: 16
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# CI-CD system on AWS ECS Fargate
Test Continuous Integration/Delivery environment on AWS ECS.
[![](https://github.com/cn-terraform/terraform-aws-ci-cd-system/workflows/terraform/badge.svg)](https://github.com/cn-terraform/terraform-aws-ci-cd-system/actions?query=workflow%3Aterraform)
[![](https://img.shields.io/github/license/cn-terraform/terraform-aws-ci-cd-system)](https://github.com/cn-terraform/terraform-aws-ci-cd-system)
[![](https://img.shields.io/github/issues/cn-terraform/terraform-aws-ci-cd-system)](https://github.com/cn-terraform/terraform-aws-ci-cd-system)
[![](https://img.shields.io/github/issues-closed/cn-terraform/terraform-aws-ci-cd-system)](https://github.com/cn-terraform/terraform-aws-ci-cd-system)
[![](https://img.shields.io/github/languages/code-size/cn-terraform/terraform-aws-ci-cd-system)](https://github.com/cn-terraform/terraform-aws-ci-cd-system)
[![](https://img.shields.io/github/repo-size/cn-terraform/terraform-aws-ci-cd-system)](https://github.com/cn-terraform/terraform-aws-ci-cd-system)## Tools included
* Jenkins
- Source Code:
- Terraform Module:
* SonarQube
- Source Code:
- Terraform Module:## Use this code as a Terraform module
Check valid versions on:
* Github Releases:
* Terraform Module Registry:## 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:
* [Pre-commit](https://pre-commit.com/)
* [Terraform Docs](https://terraform-docs.io/)In order to run all checks at any point run the following command:
pre-commit run --all-files
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13 |
| [aws](#requirement\_aws) | >= 4 |## Providers
No providers.
## Modules
| Name | Source | Version |
|------|--------|---------|
| [jenkins](#module\_jenkins) | cn-terraform/jenkins/aws | 2.0.16 |
| [networking](#module\_networking) | cn-terraform/networking/aws | 2.0.14 |
| [nexus](#module\_nexus) | cn-terraform/nexus/aws | 1.0.13 |
| [sonar](#module\_sonar) | cn-terraform/sonarqube/aws | 2.0.26 |## Resources
No resources.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [availability\_zones](#input\_availability\_zones) | List of availability zones to be used by subnets | `list(any)` | n/a | yes |
| [name\_prefix](#input\_name\_prefix) | Name prefix for resources on AWS | `any` | n/a | yes |
| [private\_subnets\_cidrs\_per\_availability\_zone](#input\_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](#input\_public\_subnets\_cidrs\_per\_availability\_zone) | List of CIDRs to use on each availability zone for public subnets | `list(any)` | n/a | yes |
| [region](#input\_region) | AWS Region the infrastructure is hosted in | `any` | n/a | yes |
| [vpc\_cidr\_block](#input\_vpc\_cidr\_block) | AWS VPC CIDR Block | `any` | n/a | yes |## Outputs
| Name | Description |
|------|-------------|
| [jenkins\_master\_alb\_arn](#output\_jenkins\_master\_alb\_arn) | Jenkins Master Application Load Balancer ARN |
| [jenkins\_master\_alb\_arn\_suffix](#output\_jenkins\_master\_alb\_arn\_suffix) | Jenkins Master Application Load Balancer ARN Suffix |
| [jenkins\_master\_alb\_dns\_name](#output\_jenkins\_master\_alb\_dns\_name) | Jenkins Master Application Load Balancer DNS Name |
| [jenkins\_master\_alb\_id](#output\_jenkins\_master\_alb\_id) | Jenkins Master Application Load Balancer ID |
| [jenkins\_master\_alb\_zone\_id](#output\_jenkins\_master\_alb\_zone\_id) | Jenkins Master Application Load Balancer Zone ID |
| [nexus\_lb\_arn](#output\_nexus\_lb\_arn) | Nexus Load Balancer ARN |
| [nexus\_lb\_arn\_suffix](#output\_nexus\_lb\_arn\_suffix) | Nexus Load Balancer ARN Suffix |
| [nexus\_lb\_dns\_name](#output\_nexus\_lb\_dns\_name) | Nexus Load Balancer DNS Name |
| [nexus\_lb\_id](#output\_nexus\_lb\_id) | Nexus Load Balancer ID |
| [nexus\_lb\_zone\_id](#output\_nexus\_lb\_zone\_id) | Nexus Load Balancer Zone ID |
| [sonar\_lb\_arn](#output\_sonar\_lb\_arn) | SonarQube Load Balancer ARN |
| [sonar\_lb\_arn\_suffix](#output\_sonar\_lb\_arn\_suffix) | SonarQube Load Balancer ARN Suffix |
| [sonar\_lb\_dns\_name](#output\_sonar\_lb\_dns\_name) | SonarQube Load Balancer DNS Name |
| [sonar\_lb\_id](#output\_sonar\_lb\_id) | SonarQube Load Balancer ID |
| [sonar\_lb\_zone\_id](#output\_sonar\_lb\_zone\_id) | SonarQube Load Balancer Zone ID |