Design and Implementation of a Continuous Integration System
Acharya, Prakash (2019)
Acharya, Prakash
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201905077932
https://urn.fi/URN:NBN:fi:amk-201905077932
Tiivistelmä
Not having an automated test system in the software development process leaves space for errors to go unnoticed in code review, which can break a codebase if integrated. The aim of the Bachelor’s thesis was to design and implement a Continuous Integration system where tests and build tasks could be automated.
The Buildbot framework was used as a Continuous Integration and automation framework. The Ansible playbook was used for automating the deployment of Buildbot configuration. The Buildbot configuration was created in such a way that it allows Buildbot instances to be created easily and in a configurable manner.
In addition, automation of the Python static code analysis tool, Prospector, was added to the Continuous Integration system.
The result of having a configurable Buildbot system was that the developers could start adding automation tasks and test and verify their change without affecting the production instance. Having an automated static code analysis run on changes brings into attention potential problems and error before they are integrated.
Even though the Buildbot system is not taken into use, it was tested in a test environment and it is shown to work. It will be taken into use once the configuration for an integration builder is added. The main benefit of the system is that tests and build tasks can be added and automated in Buildbot.
The Buildbot framework was used as a Continuous Integration and automation framework. The Ansible playbook was used for automating the deployment of Buildbot configuration. The Buildbot configuration was created in such a way that it allows Buildbot instances to be created easily and in a configurable manner.
In addition, automation of the Python static code analysis tool, Prospector, was added to the Continuous Integration system.
The result of having a configurable Buildbot system was that the developers could start adding automation tasks and test and verify their change without affecting the production instance. Having an automated static code analysis run on changes brings into attention potential problems and error before they are integrated.
Even though the Buildbot system is not taken into use, it was tested in a test environment and it is shown to work. It will be taken into use once the configuration for an integration builder is added. The main benefit of the system is that tests and build tasks can be added and automated in Buildbot.