|
Automatic Component Metadata Extractor and Consolidator for Continuous Integration
Kulda, Jiří ; Smrčka, Aleš (referee) ; Vojnar, Tomáš (advisor)
Tato diplomová práce popisuje úpravu průběžné integrace pro Platform tým ve společnosti Red Hat. Výsledkem práce je nástroj Metamorph, který umožní sjednocení ostatních nástrojů průběžné integrace pod týmem Platform. Teoretická část popisuje vznik, popis a přidané hodnoty průběžné integrace. Následně jsou blíže přiblíženy existující nástroje na trhu. Dále je zde popsáno použití průběžné integrace v nástroji Jenkins. V práci jsou také dopodrobna popsány existující řešení průběžné integrace ve společnosti Red Hat. Dále je zde popsán návrh a implementace výše zmíněného nástroje. V závěru jsou výsledky práce otestovány týmem z firmy Red Hat a nastíněny možnosti rozšíření.
|
|
Continuous Integration System for the k-Wave Project
Nečas, Radek ; Kešner, Filip (referee) ; Jaroš, Jiří (advisor)
The main goal of this thesis is to describe the implementation of continuous integration into the k-Wave project. The thesis focuses primarily on the version written in the C/C++ language with the usage of the OpenMP library which typically runs on supercomputers. Accordingly, many of popular workflows and approaches ought to be adapted, a few more created. The outcome of the thesis is a complete solution with real and practical usage. The author provides design, tools selection, runtime environment administration and configuration for each one of the used services. Software implementation of the basic framework is used in order to utilize running tests on the supercomputers. Furthermore, the implementation of chosen types of regression and unit tests are performed. Realisation is based on Gitlab and Jenkis services that are running on separated Docker containers.
|
|
Support for Jenkins Plugin Development in Python Language
Bambas, Tomáš ; Letko, Zdeněk (referee) ; Müller, Petr (advisor)
Jenkins CI, the continuous integration server, enables to extend its functionality by plug-ins. These plug-ins can be written in Java and Ruby. The support for Python language is missing although it is one of the most popular programming languages. Therefore we have implemented the SDK for Python plug-in development and this SDK has been integrated into the Jenkins CI community repository. The documentation for the plug-in development in Python has been also published. Thanks to that work, developers can now implement plug-ins in Python programming language.
|
|
Event-Driven Automation
Havlín, Jan ; Češka, Milan (referee) ; Lengál, Ondřej (advisor)
The thesis deals with automation of processes in Testing Farm Team of company Red Hat Czech s.r.o. Automating the chosen task "Update and test continuous integration system with new operating system build results in simplified maintenance of said continuous integration system. Implementation uses a Jenkins server to execute jobs and tft-admin tool to perform smaller steps resulting in automation of the task. Also, in the implementation part, modifications of the tft-admin tool allow usage in automated scripts which simplifies future automation of other processes.
|
|
Continues Integration Support for Copr Build System
Klusoň, Martin ; Hruška, Martin (referee) ; Rogalewicz, Adam (advisor)
This thesis deals with implementation of continuous integration for build system Copr. The implementation uses framework Citool and its modules, which are already used for continuous integration of build system Koji. The outcome system can run the tests for the new package from the build system Copr and test it on virtual machine. This thesis shows way how to implement continuous integration for build system Copr.
|
| |
|
Dynamic Workflow Extension for Jenkins
Sviták, Jiří ; Burget, Radek (referee) ; Letko, Zdeněk (advisor)
The main of the master's thesis has been to implement a plugin for Jenkins, which enables flow control of launching Jenkins jobs by using business processes. Project jBPM 5, which is based on Business Process Model and Notation 2.0, has been used for business processes. Two sample business processes have been drafted and successfully tested to demonstrate functionality. The main output of this thesis is the jBPM plugin for Jenkins released under free license.
|
|
Integration of Jenkins CI with Undertow
Barteček, Jakub ; Letko, Zdeněk (referee) ; Müller, Petr (advisor)
This master's thesis deals with replacement of the servlet container in Jenkins CI with server Undertow. In the thesis, general information about programs, which are related to this topic, are described and current state of the servlet container is analyzed. The result is newly created servlet container for Jenkins CI. Both versions of the Jenkins CI were performance tested and the new version gave better results.
|
|
Utilization of Linux Containers for HW/SW Co-Design
Juřica, Jiří ; Přikryl, Zdeněk (referee) ; Hruška, Tomáš (advisor)
In this bachelor thesis a way of replacement standard virtual machines by Linux containers is described. The goal is to create a~fully working system for performing parallel jobs with prepared environments for software build and test purposes. For containerization the Docker platform was chosen, which is used with automation tool for computers preparation. The system is also connected with continuous integration tool called Jenkins. This solution proves that usage of the Linux containers is more efficient than older virtualization technologies. The due time of each job was shortened about 24 % in average. The main benefits of this thesis is the comparison of two ways of virtualization and the introduction to the Docker technology.
|
|
Proposal of Versions Management for Database Process
Živnůstka, Ondřej ; Povolná, Petra (referee) ; Kříž, Jiří (advisor)
This master's thesis deals with the design and implementation of a database versions management process for software development team. The main task of this thesis is to set up tools and processes, used to help the team to manage their versions of database changes. In the first part, you may find theoretical foundations and comparison of the Liquibase and Flayway tools. In the second part, the design and solution implementation is proposed, using Jenkins, Liquibase and specially crafted Java tools.
|