This repository contains Infrastructure as Code (IaC) that will deploy a CI/CD pipeline in AWS that is configured to listen for code commits to a Github repository. These are the basic building blocks that readers should review:
|
|
| Configuration as Code |
configure.py is a utility that reads parameters in from config/pipline.conf and distributes those parameters throughout the code base. The purpose of this utility is to keep custom parameters in a centralized location (to the greatest extent possible). |
| Orchestration as Code |
deploy.sh is a deployment orchestration utility that reads parameters in from env/aws/pipeline_env.sh and orchestrates the deployment of the pipeline. (env/aws/pipeline_env.sh is configured by the configuration utility)  |
| Infrastructure as Code |
infra/aws/pipeline/pipeline.json is the Cloudformation file that defines the pipeline infrastructure.  |
|
|
| Clone the pipeline source code |
git clone git@github.com:mcooper-cloud/flycatcher_pipeline.git pipeline |
| Modify the config file |
cd pipeline && vi config/pipeline.conf |
| (if necessary) install the Jinja2 python libraries using the requirements.txt file |
pip3 install -r requirements.txt |
| Run configuration as code |
./configure.py --config config/pipeline.conf |
| Run orchestration as code |
./deploy.sh --env-file env/aws/pipeline_env.sh |
| Configure the Codestar connection |
Configure Codestar |