Continuous Delivery is gaining more and more relevance throughout different ITdriven industries. Therefore the importance of delivery pipelines and their underlying infrastructure is rising as well. To cope with the new delivery speed and an increasing number of projects that are in need of a pipeline, setup of the infrastructure as well as the configuration of a pipeline should be automated as far as possible. This provides for reproducibility, creates the ability to react fast on new teams and products and enables quick recovery in case of errors. Configuration management tools like Ansible are a good choice to to get started with these automations. Attendees will gain an understanding of the essentials of Ansible and best practices, using Vagrant for local development and testing. With interactive teamwork a complete delivery infrastructure based around the Jenkins CI server will be created and an example pipeline for an example application will be provisioned and configured. At the end of the workshop, exercise results and possible alternative approaches will be presented and discussed.
● Basic Linux knowledge.
● Basic Jenkins knowledge. Needed details will also be introduced in the
● Basic Vagrant and Ansible knowledge is a plus. Both tools will also be
● Participants should install and try Virtualbox and Vagrant upfront
● Participants should have a SSH client installed to access the workshop
environment (provided Amazon EC2 instances)
Attendees will learn to automatically provision and efficiently use components of a delivery pipeline. We will start with an introduction and motivation of the topic, showing the “normal” evolution of a continuous integration and delivery infrastructure starting with some machine growing up to a scalable infrastructure. Then we will show and discuss the need and benefits for automation not only for the software deployment or build pipelines but also for the underlying infrastructure.
With the theory set, we will start to have a look at the tools we want to use for the workshop, giving introductions to both Vagrant for local development and Ansible for automating the needed infrastructure and configuration. We will then have a first exercise session to recap the usage of the tools.
Once the basics have been taken care of, we will do a deep dive and show how to use the tools in a production setting. The second exercise will then concentrate on the fully automated setup of a continuous delivery infrastructure, mainly the Jenkins CI server and needed plugins and configurations and using other components prepared by the speakers. Through an interactive teamwork a complete delivery infrastructure will be created and a pipeline for an example application will be provisioned and configured.