Jatkuva integraatio osaksi PHP-ohjelmistokehitystä
Nurmi, Sami (2012)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013120119268
https://urn.fi/URN:NBN:fi:amk-2013120119268
Tiivistelmä
Insinöörityön tavoitteena oli suunnitella ja toteuttaa jatkuvaan integraatioon perustuva testausjärjestelmä osaksi Cabforce Oy -yrityksen ohjelmistokehitystä. Päämääränä oli saavuttaa mahdollisimman tarkoituksenmukainen sekä helppokäyttöinen kokonaisuus. Cabforce Oy tuottaa ohjelmistoaan ketterillä menetelmillä. Ohjelmistokielenä on PHP ja versionhallintana toimii SVN.
Jatkuvan integraation ydinsovellukseksi valittiin Jenkins, joka tukee suoraan yrityksen käyttämää versionhallintaa ja on liitettävissä osaksi PHP-ohjelmistokehitystä. Varsinaisen yksikkötestauksen kehyksenä toimii PHPUnit, mutta työ sisältää lisäksi useita muita testaus- ja analysointityökaluja. Testausvälineistön kytkemisen osaksi järjestelmää mahdollisti koonti- ja käännöstyökalun roolissa toimiva Apache Ant.
Työn keskeisimmät asetustiedostot on sisällytetty versionhallintaan, jolloin niiden päivittäminen on sulavaa. Testaus- ja analysointityökalut asennettiin käyttämällä hyväksi PEAR:ia. Näin niiden pitäminen ajan tasalla on myös automatisoitua.
Lopputuloksena syntyi toimiva, yhtenäinen ja kattava jatkuvaan integraatioon perustuva testausjärjestelmä. Järjestelmä jäi käyttöön Cabforce Oy:lle ja sen päälle on kehitetty testejä PHPUnitilla. Cabforce Oy mainitsi etenkin automaattisen koostamisen helpottavan ohjelmistokehitystään.
Jatkuvan integraation ydinsovellukseksi valittiin Jenkins, joka tukee suoraan yrityksen käyttämää versionhallintaa ja on liitettävissä osaksi PHP-ohjelmistokehitystä. Varsinaisen yksikkötestauksen kehyksenä toimii PHPUnit, mutta työ sisältää lisäksi useita muita testaus- ja analysointityökaluja. Testausvälineistön kytkemisen osaksi järjestelmää mahdollisti koonti- ja käännöstyökalun roolissa toimiva Apache Ant.
Työn keskeisimmät asetustiedostot on sisällytetty versionhallintaan, jolloin niiden päivittäminen on sulavaa. Testaus- ja analysointityökalut asennettiin käyttämällä hyväksi PEAR:ia. Näin niiden pitäminen ajan tasalla on myös automatisoitua.
Lopputuloksena syntyi toimiva, yhtenäinen ja kattava jatkuvaan integraatioon perustuva testausjärjestelmä. Järjestelmä jäi käyttöön Cabforce Oy:lle ja sen päälle on kehitetty testejä PHPUnitilla. Cabforce Oy mainitsi etenkin automaattisen koostamisen helpottavan ohjelmistokehitystään.