Integration with CI/CD systems

What is CI/CD?

CI and CD stand for Continuous Integration and Continuous Delivery (and sometimes Continuous Deployment).

Continuous Integration is the practice of regularly building, testing, and merging incremental code updates from all developers into a shared repository or artifact.

Continuous Delivery refers to the process of automatically taking artifacts from your build and deploying them to an environment. A Continuous Deployment process automatically takes artifacts and releases to the production environment without any manual stages in the middle (such as manually verifying in staging).

Together, they are used to automate the process of building, testing and deploying applications.

CI/CD in Faros

CI data in Faros: This includes all data relevant to integrating code into a shared repository or artifact: the start time, end time and status of the integration process plus any artifacts created or commits associated.

CD data in Faros: This includes all data relevant to deployments: the start time, end time and status of the deployment, environment information the artifact/commit being deployed and the the service/application it is being deployed to.

Integrating your CI/CD systems with Faros provides many benefits:

  • You can monitor build times across your systems and find inefficiencies in your deployment pipeline.
  • Faros can connect your CI/CD data with the rest of your data in Faros to group insights by team, by project or by application.
  • You can view metrics across your entire software development life cycle, such as lead time.

Lead Time

CI/CD data can be used in many metrics, most famously lead time. Lead time, one of the DORA metrics, tracks how long it takes commits to go from development into production.

620

The steps of lead time are shown above. Build steps, in orange, represent the build (sometimes called run) that results in an artifact. The start time and end time for this process are the main components of integration (CI) data.

Lead time also tracks the commit through various environments until it reaches production. For example, a commit can be deployed to dev, then staging, then production. Each of these different environments require a different deployment that should be tracked in your deployment data.

📘

Lead Time Calculation

To correctly compute lead time you will need CI information on the build (also called run) as well as separate CD data for each environment the change was deployed to.

Getting CI/CD Data into Faros

Check out our getting started guide that explains how to use the instrumentation tool to construct events that you can send to Faros from your pipelines.