Source control

Store source code in repositories, specialist storage software designed to help manage the source code that defines your tooling and environments.

Definition

Source control refers to where the code defining cloud resource creation and orchestration is stored (also referred to as a Repository). Source code is loaded from a repository by deployment pipelinesand executed, resulting in new cloud resources being created in a target environment.

The role of DevOps Source Control is to deliver:

  • An auditable and complete history of changes to source code
  • Supporting tools and processes for making changes to source code, typically including:
    • The ability to “branch” source code
    • The ability to support controlled change through “pull requests”

Git

Git is currently the de facto industry standard technology used for source control. It is a distributed version control system. The commands provided by Git are typically used as part of a workflow described as Git Flow, though GitHub’s simpler variation is also popular.

Git technology is integrated into mainstream source control platforms, including:

Note that each platform typically provides its own pipeline tooling. Though it is often possible to integrate Source Control and Pipeline components from different platforms, licensing considerations can sometimes make this proposition unattractive.

It is possible to use alternatives to Git as part of Cloudmarque, for example:

In Cloudmarque

A typical Cloudmarque deployment comprises three repositories:

  1. Cloud Resources

    Definitions and scripts to deploy cloud resources across a series of environments.

  2. Automation (Configuration)

    Definitions and scripts which configure cloud compute resources (typically VMs/compute nodes).

  3. Automation (Management)

    Scripts to manage the cloud environment and automatically respond to alerts.

Edit this page on GitHub

The content on this page is published under Open Source licenses via GitHub. To submit issues or provide feedback please visit the repository.

Visit