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

Pulvipulssi_webscale
17. huhtikuuta 2025
Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu SST-kehykseen, joka helpottaa full stack -sovellusten rakentamista omalle infrastruktuurille. Se tarjoaa selkeän ja abstraktoidun tavan määritellä koko sovelluksen rakenne.
Max Niskanen, Webscale Head of Sales
8. huhtikuuta 2025
Webscalen myyntitiimi vahvistuu, kun Max Niskanen liittyi joukkoomme Head of Sales -roolissa. Max tuo mukanaan yli kymmenen vuoden kokemuksen IT-alan myynnistä ja liiketoimintajohdosta. Teknologian lisäksi Maxin intohimoihin kuuluvat hapanjuurileivonta, historia ja vaellukset luonnossa.
Pilvipulssi
20. maaliskuuta 2025
Pilvipulssi tuo ajankohtaiset uutiset julkipilvimarkkinoilta suoraan asiantuntijoiltamme. Serverless Framework v3 on elinkaarensa päässä ja organisaatiot joutuvat nyt pohtimaan päivittävätkö seuraavaan versioon vai siirtävätkö softat kokonaan toiseen työkaluun.
21. helmikuuta 2025
Pilvipalvelut mahdollistavat niin nopeamman innovoinnin, resurssien tehokkaamman hallinnan kuin joustavammat liiketoimintamallitkin. Jotta pilven tarjoamat liiketoimintaedut pystytään hyödyntämään, tarvitaan pilven käyttöön kuitenkin suunnitelmallisuutta ja järjestelmällisyyttä.
Lisää kirjoituksia