CI/CD, what is this?

CI/CD is a vortex of tests and deployments

Some definitions

What are the motivations of CI/CD?

  • Moving fast, time to market: building a good release in few time is a key point for reducing the time to market;
  • Increase reliability: automating tests and having pre-stage environments allows you to reduce the bugs;
  • Rapid troubleshooting: creating frequent release means little differences between them, so it reduces the field of troubleshooting;
  • Avoid stress of releasing: a CD allows you to have little, but frequent deployments, so you are less scared about them.

CI/CD pipelines

What are the components of the CI/CD pipelines?

  • Source code repository triggers: normally when merging a new feature;
  • Builds/actions: the compiling of the code or other disparate actions as email sending or script execution;
  • Tests: verifying if the new release works as expected, they can be automatic or manual;
  • Approvals, manual or timely: some kind of approval to go forward with the process;
  • Deploys: the act of installing the release in a live environment.
Figure 1 — types of stage in CI/CD pipeline

An example of pipeline

Figure 2 — an example of CI/CD pipeline

How to design the CI/CD pipeline?

  • binary code
  • database structure or data
  • static assets
  1. Identify the common changes, find the changes that can afflict the service;
  2. Identify the updated components, you have to iterate for each change and address what is the impact of the changes on the components;
  3. Identify the action to perform the deploy/update,
  4. Model the process, you have to model the process considering the business needs.

Common challenges

My experience

--

--

--

Site Reliability Engineer at Google. This is my personal blog, thoughts and opinions belong solely to me and not to my employer.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Mortgage Fraud Attorney

mortgage fraud attorney

The experience of HackQuest IV

Kanban — Classes of Service

Challenges creating a PFM app

What are Intelligent Documents?

CONFIGURING HADOOP CLUSTER USING ANSIBLE

What are Hash Tables, and How do we use them?

Search the Rabin-Karp way

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Fabrizio Waldner

Fabrizio Waldner

Site Reliability Engineer at Google. This is my personal blog, thoughts and opinions belong solely to me and not to my employer.

More from Medium

Top 3 Features of Datadog

Schema Validation Using Postman and Newman

Push CDN vs Pull CDN

Configuring Auth0 as Key Manager for WSO2 API Manager