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

15. maaliskuuta 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ä.

A man with a beard is standing with his arms crossed and smiling.

Janne Lavila

Fullstack Developer

Viimeisimmät kirjoitukset

AWS DevOps Agent
8. joulukuuta 2025
AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.
4. joulukuuta 2025
AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.
24. marraskuuta 2025
Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions.
18. kesäkuuta 2025
Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan.
Lisää kirjoituksia