Traceability across toolchain

I am a bit late to the DevOps party; so, excuse me if this question is repetitive.

Most introductory articles on DevOps definitely cover the following:

  1. Multiple phases of development, where, each phase can be served one or more tools. For example, this infographic from Xebia Labs.

  2. A tool for a phase generates artefacts that can be plugged (by itself or via a middleware solution) into upward and downward phases so that an automated system could be set-up.

  3. An artefact of a tool is also code that can be versioned.

My questions are as follows:

  1. Given that, phase, tools and artefacts can have one-to-many relationship (not always, but sometimes), how does one do a traceability of running production code to requirements via source code, build, test scripts, etc.?

  2. Is such traceability automatically offered by DevOps stack?

  3. Note that, a Jenkins pipeline - in my book - is just another artefact from a CI server. If not, what solutions exist?

Hi Subrahm,

I would no say Jenkins is just a CI server, It has evolved and become a CI/CD tool rather than a Just CI tool.

Other open source tools like Netflix Spinnaker (for AWS) has great traceability features.

Now with the latest Jenkins Pipeline as code feature, you can code your entire development and deployment pipeline in a Jenkins configuration file called Jenkinsfile.

The level of traceability you need has to be modeled by you in every stage of a pipeline. I could be tools like packer, terform or ansible that would be integrated at the backend to achieve your CI/CD need.

Another great plugin you could look at it the jenkins bluocean plugin.. It has a great UI with real-time tracking of each pipeline stages. An example view is shown below.

2 Likes

Wow Thanks for the information Buddy.