To start with any Continuous Delivery process, we need an automation server like Jenkins. Configuring Jenkins can be however difficult, especially when the amount of tasks assigned to it increases over time. What's more, since Docker allows dynamic provisioning of Jenkins agents, it's worth to spend some time to configure everything correctly upfront, with the scalability in mind.
In this chapter, we'll present Jenkins, which can be used separately or together with Docker. We will show that the combination of these two tools produces surprisingly good results: automated configuration and flexible scalability.
This chapter will cover the following topics:
- What is Jenkins?
- Jenkins installation
- Jenkins Hello World
- Jenkins architecture
- Configuring agents
- Custom Jenkins images
- Configuration and management