Kysy konsultilta: Mitä tarkoittaa uudelleenkäytettävät CI/CD pipelinet/jobit?

maalisk. 15, 2024

Mitä tarkoittaa uudelleenkäytettävät CI/CD pipelinet/jobit?

CI/CD (continous integration/continous deployment) on menetelmä, jossa järjestelmän muutokset integroidaan ja julkaistaan automaattisesti. Tyypillisesti julkaisuprosessi koostuu muutosten testaamisesta ja katselmoinnista, sekä uuden version julkaisemisesta. CI/CD menetelmässä nämä vaiheet pyritään automatisoimaan mahdollisimman pitkälle, ja järjestelmästä riippuen tämä voidaan saavuttaa esimerkiksi uudelleenkäytettävillä julkaisuputkilla (pipeline) tai tehtävillä (job).


CI/CD menetelmän voi toteuttaa mm. tarkoitukseen rakennetulla järjestelmällä, kuten Jenkinsillä tai se voi olla osa versionhallintajärjestelmää, kuten GitHubissa. Yksinkertaisimmillaan julkaisuputki toteutetaan projektikohtaisesti, jolloin se toimii vain kyseisen projektin julkaisua varten. Tämä lähestymistapa voi olla riittävä, mutta projektikohtaisen lähestymistavan sijaan uudelleenkäytettävät julkaisuputket ja tehtävät tarjoavat tehokkaamman tavan automatisoida julkaisuprosessi.


Uudelleenkäytettävien julkaisuputkien/tehtävien hyötyjä ovat mm. testattavuus, yhdenmukaisuus ja ylläpidon helppous. Testien avulla huolehditaan julkaisuputken odotetunlaisesta toiminnasta ja ne toimivat osaltaan julkaisuputken dokumentaationa. Yhdenmukaisuuden avulla voidaan soveltaa yhdessä sovittuja parhaita käytäntöjä kaikkiin organisaation projekteihin. Julkaisuputken ylläpito helpottuu, kun päivitykset ja korjaukset voidaan toteuttaa keskitetysti. Parhaimmillaan CI/CD järjestelmä tarjoaa valmiita julkaisuputkia/tehtäviä, joiden myötä ylläpitovastuuta ja testausta voidaan ulkoistaa. Esimerkiksi GitHub tarjoaa
markkinapaikan, jossa kehittäjät voivat julkaista omia uudelleenkäytettäviä tehtäviä. Hyvä esimerkki uudelleenkäytettävästä tehtävästä on GitHub:n Checkout-action, jonka avulla kehittäjä pystyy lataamaan projektinsa lähdekoodin git-varastosta.


Järjestelmästä ja projektista riippumatta uudelleenkäytettävien julkaisuputkien ja tehtävien merkitystä on vaikea ylikorostaa. Niitä hyödyntämällä voidaan vapauttaa kehittäjien aikaa julkaisuprosessin ylläpitämisestä ja kohdistaa se projektin kehittämiseen. Kannattaa tutustua omassa projektissa tapahtuviin prosesseihin ja pohtia, voisiko niistä tehdä automaattisia tai jopa uudelleenkäytettäviä julkaisuputkia ja tehtäviä.

Janne Lavila

Fullstack Developer

Viimeisimmät kirjoitukset

Webscalen konsultteja.
26 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on AWS Landing Zone?
Webscalen konsultteja.
19 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä on DevSecOps?
Webscalen konsultteja.
12 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on Serverless Framework?
Webscalen pilviarkkitehti.
05 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä tarkoittaa kuluoptimointi pilviympäristössä?
Lisää kirjoituksia
Share by: