Creating a dynamic software deployment solution using free/libre software

von Mattias Giese (B1 Systems GmbH)

Developers and administrators consider testing changes and pushing new releases of software a major burden. They may use scripts or tools to build packages, but deployment and configuration of test machines often involves other departments and manual tasks (even if it is just clicking a button), thus slowing the process of integrating new features or bug fixes. Most developers already use revision control to track their development efforts, so why not integrate it directly into a dynamic deployment solution?

The combination of different popular and established free/libre software projects helps automate this process as much as possible. As soon as a developer pushes new code to a specified remote peer, git hooks take over and instruct the Open Build Service to build packages for different distributions/releases. These newly built packages then get automatically pushed into Spacewalk, which handles software deployment with different environments and stages. Foreman and Puppet are used to speed up deployment of new machines and ease the pain of configuring them according to the organisation's policy. Because all of the components in question offer a versatile API, they can be tightly integrated with each other and extended with new components or internally used tools/processes. Code review tools like Gerrit and Continuous Integration services like Jenkins may be used to hook into the deployment process, for example to approve changes before they are getting built into packages or to spawn fresh virtual machines for testing changes and tracking the test outcomes.

This talk is aimed at administrators and developers who long for automation of software configuration and deployment in their environments. The audience should possess
solid Linux systems administration skills.

Über den Autor Mattias Giese:

Mattias Giese is a Solutions Architect for Systems Management and Monitoring with B1 Systems GmbH where he focuses on software that provides much needed automation to any administrator's life who is tasked with the management of a multitude of systems and configurations. He loves tweaking the different components of systems management to get them to interact smoothly and efficiently. When not tinkering with software, Mattias enjoys playing table tennis, cycling or playing the odd adventure game ...