1

I've been working in the field of DevOps for some time now and have learned about some tools like Jenkins, Docker, Kubernetes, Puppet, Artifactory, etc.. Although I know where each of these tools could be used and what purpose each of these serves, I really wanted to see how a fully implemented CI/CD looks like.

I understand that the solution would definitely change with the change in the requirements, technology stack, team size, etc. and that there is not a perfect solution for everything but, I haven't seen a fully implemented DevOps lifecycle ever.

I'm not sure if asking for resources is prohibited here (Feel free to close the question if it is) but could you please redirect me to some article, blog, white paper or suggest me a book where I could learn and get a feel of what fully implemented CI/CD pipeline looks like.

2
  • Probably a good start: docs.gitlab.com/ee/ci
    – Tensibai
    Oct 10, 2018 at 13:56
  • You are spot-on about there being no "single end to end solution" and if there were, each feature would likely be either thin, or use a specific tool under the hood (i.e. the build server included inside the solution would be something like Jenkins). Rather than buy someone else's choices, it's better to assemble your own. You'll create a better end to end system if you can make the choices, and where you can replace parts when things change.
    – Fenton
    Mar 25, 2023 at 11:24

2 Answers 2

2

could you please redirect me to some article, blog, white paper or suggest me a book where I could learn and get a feel of what fully implemented CI/CD looks like.

Sure, look how Google does it.

I haven't seen a fully implemented DevOps lifecycle ever.

There seems to be a misunderstanding here. "DevOps" is a lot of things; but a "full" CI/CD (meaning each individual developer commit turning up in production fully automated shortly after the commit - continuous deployment (not only delivery)) is by far not the norm. In my experience with a few larger local and national customers, where production or business critical things are controlled by the software, and there usually are large amounts of critical data involved, it always stops before the production stage.

Full CI/CD is complicated. Yes, you can cobble the tooling together pretty quickly, but the prevention, detecting and backing out of unwanted commits is very hard. If you look at the above article about Google you will see that huge effort went into getting this to run (I seem to remember only their core DevOps team is about 100 persons, doing nothing than tooling; and then they invest a lot of work into peer reviews, knowledge transfer, etc. etc.). Whole ecosystems of components, procedures and mindsets were created specifically for this. The fact that we mere mortals get to play with things like Kubernetes is a result from that, their breadcrumbs if you will.

Even only the one fact that they are doing Trunk-based development would be too complicated (regarding processes, necessary quality requirements etc.) for many more normal, smaller teams.

1

We currently use the Jenkins as our CI/CD server and we use docker in every stage of our CI/CD.

Every time a change is pushed to a SCM, it is automatically built and deployed to production(cloud).

The Jenkins library feature helps to keep all generic steps in a centralized library and reused by every pipeline.

You can draw some inspiration from SAP S/4HANA cloud Sdk out of the box CI/CD. https://blogs.sap.com/2017/09/20/continuous-integration-and-delivery/

2
  • Can you, please, edit this answer to point out some specific part of the document that is relevant to the question? Oct 16, 2018 at 18:08
  • The question was to guide to a complete CI/CD solution and I think the blog completely explains it.
    – Ram
    Oct 16, 2018 at 18:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.