-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ServerlessSam edited this page Jan 31, 2023
·
4 revisions
Welcome to BetterCF: The open-source tool that improves your experience with AWS CloudFormation. The project's documentation will assist you in:
- Installing and using the BetterCF CLI
- Creating your own end-to-end CloudFormation deployment pipeline (in minutes)
- Managing multiple CloudFormation stacks
- Maintaining compliance
- Contributing to BetterCF's open-source codebase
BetterCF works in a similar way to how we create, maintain and deploy Docker images:
- Developers write code
- A docker image is created, containing this code. This image is tagged with something concrete (e.g a version number) and pushed to a container repository
- When required, a deployment is triggered to an environment for testing (e.g Staging or QA)
- When tests and checks have passed, a deployment is triggered to a production environment, using the exact docker image that was tested in the previous step.
BetterCF works in a similar way:
- Developers write CloudFormation config
- The CloudFormation template file is created, containing this config. This template is tagged with something concrete (e.g a version number) and pushed to a template repository
- When required, a deployment is triggered to stack for testing (e.g Staging or QA)
- When tests and checks have passed, a deployment is triggered to a production stack, using the exact template that was tested in the previous step
- Template: A CloudFormation template file containing CloudFormation configuration.
- Stack: A CloudFormation stack, which will depend on a template, and is defined by a stack configuration file.
- Stack Configuration File: A configuration file (the last one I promise), that contains the definition of your stack. See the configuration anatomy here
- DFM (Data-File-Merge) (Only relevant to the optional 'build' stage): A rule-based, config-driven mechanism for merging or splitting the contents of data file (JSON/YAML). We use this in the optional build stage.