Introducing Continuous Integration for C and C++ Software Development Projects on Linux Platform


Autoria(s): Palviainen, Jarkko
Data(s)

04/12/2009

04/12/2009

2009

Resumo

Software integration is a stage in a software development process to assemble separate components to produce a single product. It is important to manage the risks involved and being able to integrate smoothly, because software cannot be released without integrating it first. Furthermore, it has been shown that the integration and testing phase can make up 40 % of the overall project costs. These issues can be mitigated by using a software engineering practice called continuous integration. This thesis work presents how continuous integration is introduced to the author's employer organisation. This includes studying how the continuous integration process works and creating the technical basis to start using the process on future projects. The implemented system supports software written in C and C++ programming languages on Linux platform, but the general concepts can be applied to any programming language and platform by selecting the appropriate tools. The results demonstrate in detail what issues need to be solved when the process is acquired in a corporate environment. Additionally, they provide an implementation and process description suitable to the organisation. The results show that continuous integration can reduce the risks involved in a software process and increase the quality of the product as well.

Integraatio on ohjelmistokehitysprossesin vaihe, jossa erillisistä komponenteista kootaan kokonainen tuote. Kyky integroida sujuvasti ja vaiheeseen sisältyvien riskien hallinta on tärkeää, sillä ohjelmistoa ei voida julkaista ennenkuin se on integroitu. On myös osoitettu, että integraatio- ja testausvaihe voi kattaa jopa 40 % projektin kokonaiskuluista. Näitä ongelmia voidaan pienentää käyttämällä jatkuvaa integraatiota. Tämä diplomityö esittää, kuinka jatkuva integraatio voidaan ottaa käyttöön kirjoittajan työnantajaorganisaatiossa. Työssä tutkitaan kuinka prosessi toimii, ja luodaan tekniset edellytykset soveltaa sitä tulevissa projekteissa. Toteutettu järjestelmä tukee C ja C++ -ohjelmointikielillä kirjoitettuja ohjelmistoprojekteja Linux-ympäristössä, mutta työssä kuvattuja konsepteja voidaan hyödyntää ohjelmointikielestä ja -ympäristöstä riippumatta valitsemalla niihin soveltuvat työkalut. Työn tulokset havainnollistavat yksityiskohtaisesti ongelmia, jotka on ratkaistava kun prosessi omaksutaan yrityskäytössä. Integraatiojärjestelmän toteutus ja siihen liittyvä prosessikuvaus ovat mukana tuloksissa. Työn tulokset osoittavat, että jatkuva integraatio voi pienentää ohjelmiston kehitysprojektiin liittyviä riskejä ja parantaa ohjelmiston laatua.

Identificador

http://www.doria.fi/handle/10024/50565

URN:NBN:fi-fe200911122336

Idioma(s)

en

Palavras-Chave #ohjelmistotekniikan käytännöt #koontikäännöksen hallinta #jatkuva integraatio #software engineering practices #build management #continuous integration
Tipo

Master's thesis

Diplomityö