CI/CD Fundamentals
- A single source repository
Source code management (SCM) that houses all necessary files and scripts to create builds. - Automated builds
Scripts should include everything you need to build from a single command. - Builds should be self-testing
Testing scripts should ensure that the failure of a test should result in a failed build. - Frequent iterations
Multiple commits to the repository mean there are fewer places for conflicts to hide. - Stable testing environments
Code should be tested in a cloned version of the production environment. - Maximum visibility
Every developer should be able to access the latest executables and see any changes made to the repository. - Automated deployments
Code should be able to deploy into multiple environments easily.