CONTINUOUS DEPLOYMENT WORKFLOW : Case Lego Mindstorms EV3
Alatalo, Janne (2014)
Alatalo, Janne
Jyväskylän ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014092314147
https://urn.fi/URN:NBN:fi:amk-2014092314147
Tiivistelmä
Opinnäytetyön toimeksiantajana toimi N4S@JAMK projekti. N4S@JAMK on osa DIGILE-yrityksen vetämää Need4Speed-ohjelmaa. Opinnäytetyön painopisteenä oli kaksi eri aihetta. Ensimmäinen näistä aiheista oli jatkuvan julkaisun ketjun toteuttaminen Lego Mindstorms EV3 -laitteelle. Toinen aihealueista oli tutkia tapoja yksikkötestata EV3-laitteelle kehitettyjä ohjelmistoja tavallisella tietokoneella.
Jatkuvan julkaisun ketju toteutettiin käyttäen GitLab- ja Jenkins-ohjelmistoja sekä Fabric python -kirjastoa. EV3-laitteessa käytettävä ohjelmisto oli kolmannen osapuolen tarjoama MonoBrick- laiteohjelmisto. EV3-laitteeseen esiasennettuna ollutta Legon omaa laiteohjelmistoa ei käytetty. MonoBrick-ohjelmisto sisälsi monokehitysympäristön asennuksen yhteydessä, joten EV3-laitteelle kehitetty ohjelmisto kirjoitettiin C#-ohjelmointikielellä.
EV3-laitteelle tarkoitetun ohjelmiston yksikkötestaus toteutettiin hyvällä ohjelma-arkkitehtuurilla sekä mock-objekteilla. Ne ohjelman osat, jotka olivat riippuvaisia laitteistosta, kuten antureita ja moottoreita käsittelevät osat, suunniteltiin niin, että ne on helppo vaihtaa testauksen ajaksi mock-objekteihin.
Jatkuvan julkaisun ketju testattiin testi-projektilla ja se esiteltiin demo bazaar -tapahtumassa Need4Speed-ohjelman Q2 Review -tilaisuudessa.
Jatkuvan julkaisun ketju toteutettiin käyttäen GitLab- ja Jenkins-ohjelmistoja sekä Fabric python -kirjastoa. EV3-laitteessa käytettävä ohjelmisto oli kolmannen osapuolen tarjoama MonoBrick- laiteohjelmisto. EV3-laitteeseen esiasennettuna ollutta Legon omaa laiteohjelmistoa ei käytetty. MonoBrick-ohjelmisto sisälsi monokehitysympäristön asennuksen yhteydessä, joten EV3-laitteelle kehitetty ohjelmisto kirjoitettiin C#-ohjelmointikielellä.
EV3-laitteelle tarkoitetun ohjelmiston yksikkötestaus toteutettiin hyvällä ohjelma-arkkitehtuurilla sekä mock-objekteilla. Ne ohjelman osat, jotka olivat riippuvaisia laitteistosta, kuten antureita ja moottoreita käsittelevät osat, suunniteltiin niin, että ne on helppo vaihtaa testauksen ajaksi mock-objekteihin.
Jatkuvan julkaisun ketju testattiin testi-projektilla ja se esiteltiin demo bazaar -tapahtumassa Need4Speed-ohjelman Q2 Review -tilaisuudessa.