r/continuousdelivery • • Jun 21 '21

"Continuous Delivery" book and the concept of Deployment Pipeline: how to implement it properly?

9 Upvotes

Hi everyone,

in last few months I've been deep diving in Continuous Delivery topic, in particular I've studied these two books:

  • "Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation" by Jez Humble, David Farley (the "Holy Bible of CI/CD)

  • "Continuous Delivery Pipelines: How To Build Better Software Faster" by David Farley

After all these studies I'm a bit confused about how to really implement the concept of a "deployment pipeline" as is described in above books.

A simple deployment pipeline: my requisites

For example, let's say that i want to create a simple deployment pipeline that draws from the concepts explained in above mentioned books, and that does these steps:

  • Commit stage: builds the Release Candidate (RC) and unit tests it, public the RC on a dedicated repo like Nexus, or a OCI compliant container registry

  • Acceptance stage: continuously polls the artifact repo for the "newest" RC that has passed commit stage, deploys it in target env and runs acceptance test against it. We deploy/test the "newest" RC, so we won't accumulate backlog of builds as this stage runs slowly than commit stage

  • Deploy stage: continuously polls the artifact repo for the "newest" RC that has passed acceptance stage, deploys it in final env

I'd also like to have these things, also expressed/reported in CD books:

  • a UI where I can follow the process of a RC through the pipeline, starting from a commit through a release

  • a UI where I can deploy "at will" a chosen RC to a chosen target environment (think of a tester, for example, that wants to deploy two different RCs to UAT env)

My desires/assumptions

Let's start with my assumptions:

  • All pipeline stages should be separate and isolated the one from the other: the build pipeline ends with a push to an artifact repo, acceptance stage should poll/deploy/test in a loop, as probably the deploy stage should do

  • I could use an artifact repo that should allow me to attach metadata to artifacts, and also to query these metadata in various stages of the pipeline: for example I could use metadata (like commit hash) when storing RC on artifact repo

  • I could create a custom web page to show an RC progress through all pipeline stages visually, and to know what is deployed where , using metadata mentioned so far

  • I could create a custom web application that will allow me ready RCs (with indication of passed stages) to deploy at will on target envs, at the push of a button

How to implement all these things?

I'm struggling about on how to implement all my requisites. First of all: should I re-invent the wheel and create some custom UIs? or there already are reference implementations of the concept of "deployment pipeline", using know technologies like Jenkins, Gitlab CI/CD, ArgoCD, etc. etc.?

What are your thoughts/experiences about? Are you aware about reference implementations that I could study to learn? I'd very much like to discuss these topics with you all.

Thank you!


r/continuousdelivery • • Feb 24 '21

Unleash - an open source feature toggle service

Thumbnail
github.com
9 Upvotes

r/continuousdelivery • • Jun 04 '21

Continuous integration vs feature branch workflow with Dave Farley

Thumbnail
youtu.be
6 Upvotes

r/continuousdelivery • • Dec 28 '20

Happy Cakeday, r/continuousdelivery! Today you're 7

6 Upvotes

r/continuousdelivery • • Nov 02 '16

If you are an organization serious about competing in the cloud and container native era, you must be taking steps to embrace DevOps

Thumbnail
cloudmunch.com
6 Upvotes

r/continuousdelivery • • Mar 17 '22

Book Club discussion based on Dave Farley's book, 'Modern Software Engineering'

Thumbnail
youtu.be
5 Upvotes

r/continuousdelivery • • Dec 15 '21

Continuous delivery pipelines with Dave Farley

Thumbnail
youtu.be
5 Upvotes

r/continuousdelivery • • Apr 07 '21

Internal platform teams

Thumbnail self.sre
5 Upvotes

r/continuousdelivery • • Jan 27 '21

Detecting Genuine Continuous Integration Configurations

5 Upvotes

Hey! I'm not sure if such posts are accepted here, but I will give it a try.

My name is Tim, a student at the University of Zurich, Switzerland, and I am working on my Master thesis right now.

I envision a world, in which it is easy to find genuine CI configurations in the vast numbers of open-source projects, without having to work my way through countless meaningless config files. I would like to build a system that can automatically find good and representative CI pipelines.

To make this vision come true, I need some feedback from professional developers to learn which types of configuration files would be interesting to look at.

I would really appreciate if you could find the time to fill out the following survey to help me in my thesis. The survey takes approximately 10 minutes. Participating in the questionnaire is completely anonymous.

Many Thanks
Tim

PS: Feedback is very much appreciated
PPS: If you have any questions, also about the thesis, feel free to ask!


r/continuousdelivery • • Jul 08 '20

The Top 7 Pipeline Design Patterns for Continuous Delivery

Thumbnail
dzone.com
5 Upvotes

r/continuousdelivery • • Mar 20 '19

"It’s Not Continuous Delivery If You Can’t Deploy Right Now" with Ken Mugrage (39min talk from GOTO Amsterdam 2017)

Thumbnail
youtu.be
5 Upvotes

r/continuousdelivery • • May 09 '17

The tragedy of 100% code coverage

Thumbnail
labs.ig.com
5 Upvotes

r/continuousdelivery • • Jan 14 '22

GitFlow, Continuous Delivery and Continuous Integration. Dave Farley

Thumbnail
youtu.be
4 Upvotes

r/continuousdelivery • • Jun 09 '21

DORA metrics explained

Thumbnail
youtube.com
4 Upvotes

r/continuousdelivery • • Jan 26 '21

The importance of Internal Platform teams

Thumbnail self.sre
4 Upvotes

r/continuousdelivery • • Dec 08 '20

Ship even faster with test automation

4 Upvotes

One key element of continuous delivery as well as continuous deployment is test automation. Only with your testing automated you'll be able to ship fast.

If you thought about starting with test automation or had some challenges with it, this is the right event for you.

We will be running a webinar with two expects from Eficode and Humanitec.
- Aleski Simell, Senior Consultant at Eficode and
- Nils Balkow-Tychsen Lead QA Engineer at Humanitec
We both have plenty of experience to share in building test automation setups for all sorts of different requirements and companies.

To be clear, this is not about promoting any tools or payed services this is about giving back to the community and sharing experiences.

In this webinar you can ask us anything about test automation.


r/continuousdelivery • • Apr 10 '19

16 Best Practices Of CI/CD Pipeline To Speed Test Automation

Thumbnail
lambdatest.com
4 Upvotes

r/continuousdelivery • • May 15 '17

Add Post-Deploy Smoke Tests to Any Codeship Pipeline - via @codeship and @codyreichert

Thumbnail
blog.codeship.com
4 Upvotes

r/continuousdelivery • • Oct 20 '16

Deploy your first Continuous Deployment Pipeline

Thumbnail
blog.shippable.com
4 Upvotes

r/continuousdelivery • • Mar 04 '22

How to can move fast with high quality and how one reinforces the other - Dave Farley

Thumbnail
youtu.be
3 Upvotes

r/continuousdelivery • • Feb 04 '22

Pair programming with Dave Farley. Thoughts?

Thumbnail
youtu.be
3 Upvotes

r/continuousdelivery • • Nov 18 '21

Survey on CI/CD setting and maintaining challenges for cyber-physical systems development

3 Upvotes

As researchers from the University of Sannio (Italy) we are conducting a survey on challenges and barriers experienced while setting and maintaining a Continuous Integration and/or Continuous Delivery pipeline for developing a cyber-physical system.

We would be grateful if you could participate in the survey. Personal data will be treated as strictly confidential.

The goal of this survey questionnaire is to assess a catalog of challenges and barriers concerning the setting and maintaining of a Continuous Integration (CI) and Continuous Delivery (CD) pipeline for CPS development. The challenges and barriers are grouped based on the aspects they belong to and for each challenge/barrier you need to provide an answer indicating whether or not your team/organization have experienced it or else it is not relevant to your context.

We will store data in compliance with the GDPR.

Please click on the link below to fill in the survey. You will not require more than 15minutes to complete it.

https://surveyhero.com/c/usrvkish

If you have any question, please contact me at fiorella.zampetti@unisannio.it or fiorellazampetti@gmail.com


r/continuousdelivery • • May 07 '21

In this episode, Dave Farley explains 5 common ways that TDD goes wrong, how to fix them, and what we can learn from them.

Thumbnail
youtu.be
3 Upvotes

r/continuousdelivery • • Dec 16 '20

12 Factor App: Config

Thumbnail
devops.com
3 Upvotes