Jatkuvajulkaisu (Continuous delivery)

Kuvauksen kirjoitti: Vesa Veckman, L8600

Jatkuva julkaisu mahdollistaa kehitysideoiden nopean käyttöönoton.

Jatkuvan julkaisun tärkeimpiä periaatteita on saada välitöntä palautetta jokaisesta eri vaiheesta, jotta virhetilanteissa virheet voidaan korjata ja putki pääsee jatkumaan. Jatkuvan julkaisun prosessi menee kutakuinkin näin:

kuva1

Nopea julkaisutehokkuus mahdollistaa myös loppukäyttäjien paremman osallistumisen ohjelmiston kehitykseen ja lyhentää asiakkaan sekä kehittäjien välimatkaa. Asiakas pystyy välittömästi näkemään ne muutokset, joita ohjelmistoon on tehty, antamaan palautetta niistä, ja kehittäjä kykenee välittömästi ymmärtämään, mitä asiakas todella ohjelmistoon haluaa.

kuva2

Jatkuva julkaisu vaatii ympärilleen testausautomaatiota. Testausautomaatiolla tarkoitetaan joukkoa etukäteen ohjelmoituja testejä, jotka voidaan ajaa automaattisesti. Testausautomaatioon kuuluvat usein mm. yksikkö-, integraatio-, regressio- ja suorituskykytestit. Korkeat testikattavuusrajat ovat yksi keino varmistaa julkaisujen vähäinen virheiden määrä.

Muuta

DevOps –prosessi pohjautuu paljolti ketteriin menetelmiin; siinä missä ketterät menetelmät keskittyvät ohjelmakoodiin, niin se keskittyy koko palveluun, alkaen ohjelmakoodista, edeten testaukseen ja ylläpitoon. Jatkuvalla julkaisulla on siinä suuri merkitys. Continuous delivery -mallissa asennusvaiheet ovat automaattisia, mutta päätöksen tuotantoon viennistä tekee ihminen. Continuous delivery -mallissa jokainen uusi muutos on mahdollinen uusi julkaisu. Continuous delivery -malli on helpommin hallittavissa, koska virheet voidaan korjata ennen julkaisua. Jokainen uusi asennus tehdään automatisoidun julkaisuputken (eng. deployment pipeline tai build pipeline) kautta. Muutokset liikkuvat julkaisuputkessa käyden lävitse joukon laadunvarmistusvaiheita ja testausympäristöjä ja päätyen lopulta tuotantoon. Jatkuvan julkaisun toteuttaminen sisältää hyvin paljon suunnittelua ja haasteita. Vaikka ohjelmistoa julkaistaisiin jatkuvasti, on päivitysten saattaminen palvelimelle silti yhä paikoittain monimutkaista. Toiminnassa olevan ohjelmiston on usein säilyttävä päivityksenkin aikana toimintakykyisenä ja käytettävissä, jolloin julkaisuputken käyttämien menetelmien suunnittelu vaatii lukuisien yksityiskohtien huomioimista.

Esimerkkejä

Jatkuva julkaisu (eng. continuous deployment tai continuous delivery) tarkoittaa, että verkkopalvelu voidaan päivittää uuteen versioon koska tahansa. Jatkuvan julkaisun avulla muutokset palveluun tapahtuvat katkottomasti ja nopeasti. Tyypillisesti tämä tarkoittaa jatkuvaa, esimerkiksi päivittäistä, palvelun päivittämistä.

Lähteitä liittyen aiheeseen

Linkit wikin muihin sivuihin