Lähtekoodi pidev integratsioon funktsionaalsete harudega arendusmudelis
Laen...
Failid
Kuupäev
Autorid
Ajakirja pealkiri
Ajakirja ISSN
Köite pealkiri
Kirjastaja
Tartu Ülikool
Abstrakt
Lähtekoodi pidev integratsioon ja funktsionaalsete harudega arendusmudel on pealtnäha teineteist välistavad tarkvara arenduse metodoloogiad. Ometi on nad mo ̃lemad omal moel kasulikud. Selles töös uurime, kuidas siiski kasutada neid kahte metodoloogiat koos nii, et mõlemad säilitaksid oma kasulikkuse. Töö keskendub avatud lähtekoodiga pideva integratsiooni serverile Jenkins ning Mercuriali versioonihaldussüsteemile.
Töö eeldab lugejalt tarkvaraarenduse baasteadmiste, sealhulgas versioonihaldus- ja tarkvara ehitus/pakendamise süsteemide põhimõtete, tundmist. Töö üldosa ning pakutud lahendus on platvormist ja programmeerimiskeelest sõltumatu, kuid põhineb kohati Java programmeerimiskeelel ning täpsemalt Apache Maveni ehitussüsteemil.
Continuous integration (CI) and feature branches are mutually exclusive approaches to software development. You can get the benefits of one but not the other. In my thesis I will research how to properly marry CI with feature branch development model. We will see what the standard Continuous Integration tools offer today and what they could offer tomorrow. The provided solution is as flexible as possible, being platform and programming language agnostic while still allowing for parallel execution of tests and supporting multiple code repositories with any number of overlapping feature branches. We will concentrate on the open source Jenkins Continuous Integration server but also look at the competition. Platform wise this paper is geared towards Java programming language and more specifically the Apache Maven build tool, but the proposed solutions are general and platform agnostic.
Continuous integration (CI) and feature branches are mutually exclusive approaches to software development. You can get the benefits of one but not the other. In my thesis I will research how to properly marry CI with feature branch development model. We will see what the standard Continuous Integration tools offer today and what they could offer tomorrow. The provided solution is as flexible as possible, being platform and programming language agnostic while still allowing for parallel execution of tests and supporting multiple code repositories with any number of overlapping feature branches. We will concentrate on the open source Jenkins Continuous Integration server but also look at the competition. Platform wise this paper is geared towards Java programming language and more specifically the Apache Maven build tool, but the proposed solutions are general and platform agnostic.