Nowadays, the automatization of certain processes is more and more important. The automatic systems save time and money because carrying out certain works manually is an extremely expensive solution. Furthermore, it reduce the chance of human error as much as possible and increases the product quality.
In my thesis, I focus on the process of countinous integration. Automatizing the continuous integration’s steps – including the build automatization – I achieved the automatized system.
I introduce the functions of Jenkins framework. Besides, the necessary settings are also going to be presented, which are essential to the proper functioning of the process.
Within this, I describe the scripting languages via the Python language. As the Jenkins is only a framework, a Python script is responsible for the real operation. Every move and function that the process needs to know take place in the script.
I discuss the importance of version control systems. As the project data is stored in a server of version control system, the communication between Jenkins server and the project data holding server has to be implemented by the version control system. As we use an unpopular version control system (MKS), therefore I show a relatively complex solution to implement the communication. Besides, I mention a simpler implementation mode too.
I describe the operation of the static code analysers through a program called QA C. As to run QA C is an important step of the continuous integration, therefore I show how can it be involved in the process.
I present the steps of the automated continous integration. I present every step in detail, including the used technologies too.
Finally, I will show how Jenkins functions become available through an external application. I have developed a program based on Jenkins REST API, which allows reaching Jenkins functionalities without the web interface.