Many build tools use a classic task-based approach for organizing the CI/CD pipeline. Among these tools, there are both old (Ant, NAnt) and modern ones (Gradle, Cake, Nuke).
Let’s start with the definition of the CI/CD pipeline.
By CI/CD pipeline, we will mean a sequence of stages (targets, tasks) describing and forming the process of software build, test, and deployment. Typically it has the form of a graph. Directed acyclic graph structure to be more precise. Look:
It’s a simple variation of the CI/CD pipeline. Each blue box is a stage/target/task. As you might have guessed, arrows mean dependencies.
Since I’m better familiar with Cake than with other build tools, I would use it for further explanation.
#devops