The following diagram summarizes the steps involved in a continuous delivery process. Although the process comprises a number of different activities with integration provided between each activity, you do not have to adopt every activity in the process before you can benefit from significant gains in terms of efficiency, effectiveness, and quality. Instead, you might choose to implement this process one activity at a time, taking advantage of the benefits provided by each activity as you add and integrate it with the others.
Note that because continuous delivery is effectively an extension of the continuous integration process, the first five steps in this diagram are the same as the steps in the diagram presented in Continuous Integration Workflow.
where the numbered steps are as follows:
At this point, the changes that were checked in at step 2 have been successfully built and a build label has been applied to the source code that was used for the build, meaning that the build could be recreated if necessary.
In the event of a build failure, the CI server sends notifications to the relevant developers who restart the process from step 1 to make the changes necessary to resolve the build errors.
At this point, the changes that were checked in at step 2 have been successfully built and tested, all with little or no manual intervention.
If the acceptance tests result in failures, the CI server sends notifications to the relevant developers who restart the process from step 1 to make the changes necessary to resolve the test failures.
If the validation decision is not to release, the relevant team members are notified and development work continues as normal.
For information on using Jenkins to perform the CI server tasks in the above list, see Using Enterprise Developer with Jenkins.