Automation of container-based software build pipelines
Piuhola, Mikko (2017)
Piuhola, Mikko
Metropolia Ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705036270
https://urn.fi/URN:NBN:fi:amk-201705036270
Tiivistelmä
Insinöörityön tarkoituksena oli automatisoida sovelluskehitystiimin käytössä oleva jatkuvan integraation ja julkaisun järjestelmä ja kehittää sen pohjalta uudelleenkäytettävä malli yleiseen käyttöön. Jatkuvan integraation järjestelmä vastaa sovelluskehitystiimin tuottaman ohjelmakoodin ja järjestelmien testauksesta, julkaisuista ja raportoinnista. Automaation tarkoituksena oli lieventää vanhan järjestelmän ylläpito- ja käytettävyyshaasteita ja kehittää helposti käyttöönotettava sekä luotettava sovellusten testaus- ja julkaisujärjestelmä minkä tahansa sovelluskehitystiimin käyttöön.
Järjestelmä kehitettiin sovelluskonttiteknologioita ja jatkuvan integraation sekä julkaisun toimintatapoja hyödyntäen. Kehitetyn järjestelmän keskeisin osa oli jatkuvan integraation tuote, jota kehitystiimi oli aikaisemminkin käyttänyt. Sovelluskonttiteknologioiden käyttö mahdollistaa testausympäristöjen sovelluskohtaisen määrittelyn ja parantaa luodun järjestelmän toistettavuutta muissa ympäristöissä.
Järjestelmän konfigurointi automatisoitiin käyttämällä useita eri skriptausmenetelmiä. Sovellusten ja järjestelmien testaus- ja julkaisuputket kuvattiin versionhallintaan tallennettuina skripteinä. Tämä mahdollistaa testaus- ja julkaisuputkien kehittämisen sovelluskehittäjille tutuin menetelmin sekä järjestelmän laajamittaisen automaation. Skriptit ladataan versionhallinnasta automaattisesti ja ne sisältävät täydellisen kuvauksen sovellusten testaus- ja julkaisuputkista.
Työn tuloksena oli automatisoitu jatkuvan integraation ja julkaisun järjestelmä, joka voidaan pystyttää nopeasti ja helposti. Kehitystiimin mielestä luotu järjestelmä tarjoaa huomattavia parannuksia käytettävyydessä ja ylläpidettävyydessä verrattuna aiemmin käytössä olleeseen järjestelmään.
Järjestelmä kehitettiin sovelluskonttiteknologioita ja jatkuvan integraation sekä julkaisun toimintatapoja hyödyntäen. Kehitetyn järjestelmän keskeisin osa oli jatkuvan integraation tuote, jota kehitystiimi oli aikaisemminkin käyttänyt. Sovelluskonttiteknologioiden käyttö mahdollistaa testausympäristöjen sovelluskohtaisen määrittelyn ja parantaa luodun järjestelmän toistettavuutta muissa ympäristöissä.
Järjestelmän konfigurointi automatisoitiin käyttämällä useita eri skriptausmenetelmiä. Sovellusten ja järjestelmien testaus- ja julkaisuputket kuvattiin versionhallintaan tallennettuina skripteinä. Tämä mahdollistaa testaus- ja julkaisuputkien kehittämisen sovelluskehittäjille tutuin menetelmin sekä järjestelmän laajamittaisen automaation. Skriptit ladataan versionhallinnasta automaattisesti ja ne sisältävät täydellisen kuvauksen sovellusten testaus- ja julkaisuputkista.
Työn tuloksena oli automatisoitu jatkuvan integraation ja julkaisun järjestelmä, joka voidaan pystyttää nopeasti ja helposti. Kehitystiimin mielestä luotu järjestelmä tarjoaa huomattavia parannuksia käytettävyydessä ja ylläpidettävyydessä verrattuna aiemmin käytössä olleeseen järjestelmään.