Learning Objectives

By the end of this lesson you will be able to:

5 steps to Continuous Delivery: Document, Test, Script, Version and Continuous

There are 5 steps you might go through in making a process part of a Continuous Delivery system: document, test, script, version, and make it continuous. When you consider a process that needs to be part of a Continuous Delivery system, your question should be, “How is the process being accomplished now?”. For instance, let’s say you’ve got s deployment process. At a very high level, the process might be to stop an application server, copy a binary artifact, modify database connections and start the server. So, the first thing you’d do is...


You will document the process or refine existing process so that it can be automated. Writing documentation in this manner is significantly different than how most people write documentation because you can’t make any assumptions. Essentially you need to write it the way a program might read it. One of the main purposes of this to so that you’re able to repeat the process manually.


Write automated tests that verify the expected behavior. These tests will become part of the CD system. The tests will fail until you write an corresponding script. You can use the documentation as a way to determine the behavior to verify.


Script - Write an automated script to perform the activities based on your automated tests. You should roll up all course-grained scripts so that they can be run as a single command - for example, build, deployment, create environment test and so on. This way they can be run in headless mode in a Continuous Integration system


Version - Commit the scripts and the tests in your version-control system - such as Git, Subversion or Perforce


Continuous - Your Continuous Integration server can poll for changes to your version-control repository, when it finds changes it will run a single command to perform all of the activities for the job and then provide feedback through the dashboard, email or other feedback mechanisms. Once a process is tested, scripted, versioned and continuous, you can delete the documentation you created in step 1.

CLASS EXERCISE: Types of delivery components

Review Infrastructure, configuration, application code and data scripts in GitHub.