TLDR; This repository is a sample project demonstrating a basic continuous integration (CI) / continuous deployment (CD) setup. This project is in READ ONLY mode.
# You can generate this tree with:
# $ tree -a -I '.git|assets|.github|venv|node_modules|images|.DS_Store|*.tfvars|.terraform'
.
├── .gitignore
├── CODEOWNERS
├── LICENSE
├── README.md
├── infra
│ ├── README.md
│ └── instances
│ ├── production
│ │ ├── .terraform.lock.hcl
│ │ ├── main.tf
│ │ └── terraform.auto.tfvars.example
│ └── staging
│ ├── .terraform.lock.hcl
│ ├── create_staging_resource.sh
│ ├── extra_staging.tf.example
│ ├── main.tf
│ └── terraform.tfvars.auto.example
└── web
├── README.md
├── app.js
├── bin
│ └── www
├── package-lock.json
├── package.json
├── public
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
├── tests
│ ├── app.test.js
│ └── routes.test.js
└── views
├── error.jade
├── index.jade
└── layout.jade
12 directories, 26 files
infra/images
: contains Packer template to build our AWS EC2 AMIinfra/instances
: contains our Terraform templates to setup ourstaging
andproduction
EC2 instancesweb
: contains our simple Express web application
Click to expand
- Create a new branch from the
main
branch and make some changes to the app - Push the new branch to GitHub
- Watch the CI workflow being triggered
- Troubleshoot issues as they rise