Chapter 8. Continuous integration: Speeding up your development pipeline
This chapter covers
- Using the Docker Hub workflow as a CI tool
- Speeding up your I/O-heavy builds
- Using Selenium for automated testing
- Running Jenkins within Docker
- Using Docker as a Jenkins slave
- Scaling your available compute with your dev team
In this chapter we’re going to look at various techniques that will use Docker to enable and improve your continuous integration (CI) efforts.
By now you should understand how Docker is well suited to being used for automation. Its lightweight nature, and the power it gives you to port environments from one place to another, can make it a key enabler of CI. We’ve found the techniques in this chapter to be invaluable in making a CI process feasible within a business.
By the end of this chapter you’ll understand how Docker can make the process of CI faster, more stable, and reproducible. By using test tools such as Selenium, and expanding your build capacity with the Jenkins Swarm plugin, you’ll see how Docker can help you get even more out of your CI process.
Note
In case you don’t know, continuous integration is a software lifecycle strategy used to speed up the development pipeline. By automatically rerunning tests every time a significant change is made to the codebase, you get faster and more stable deliveries because there’s a base level of stability in the software being delivered.