Jenkins is a popular pipeline engine for automating software deployment. A Jenkins Job replaces manual server shutdowns, binary copying, restarts, and configuration adjustments with a repeatable execution that reports its output. section 4.1.1
Jenkins improves operational deployment workflows by:
- Selecting the artifact versions to deploy through a Job. section 4.1.1
- Using stored environment credentials so operators do not access servers manually. section 4.1.1
- Recording execution parameters and results, then notifying the operator about the outcome. section 4.1.1
Figure 4.3 Jenkins Jobs or scripts encapsulated the operational knowledge of how to do deployments in an imperative way, defining step-by-step what needs to be done. This is a complex task, hard to maintain and modify, and very specific to the tool we're using. On the other hand, virtual machines are resource-intensive and not portable across cloud providers.
The figure contrasts Jenkins Jobs and scripts, which encode imperative step-by-step deployment knowledge, with more portable environment approaches. section 4.1.1

