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.