CI-CD

Sopimuksen mukaan



CI/CD-prosessi

CI/CD-prosessi, joka tarkoittaa Continuous Integrationia (jatkuva integraatio) ja Continuous Deliveryä (jatkuva toimitus) / Continuous Deploymentia (jatkuva käyttöönotto), on joukko käytäntöjä, jotka automatisoivat ja valvovat koko ohjelmistokehityksen elinkaarta. Sen tavoitteena on toimittaa korkealaatuista ohjelmistoa nopeammin ja luotettavammin. Se muuttaa perusteellisesti tiimien työskentelytapaa automatisoimalla rakennus-, testaus- ja käyttöönoton vaiheet, jotka ovat perinteisesti olleet manuaalisia ja aikaa vieviä.


Kaksi pääkomponenttia

Continuous Integration (CI) eli Jatkuva integraatio

CI on kehityskäytäntö, jossa kehittäjät yhdistävät koodimuutoksensa keskeiseen koodivarastoon usein, useita kertoja päivässä. Jokainen yhdistäminen tarkistetaan automaattisella rakennuksella ja automaattisilla testeillä. Tärkein tavoite on löytää ja korjata integraatiovirheet varhaisessa vaiheessa ja mahdollisimman pienellä vaivalla.

CI:n päävaiheet:

  • Koodin siirto: Kehittäjä siirtää uuden koodin versionhallintajärjestelmään, kuten Gitiin.
  • Rakennus: Automaattinen palvelin (kuten Jenkins tai GitLab CI/CD) havaitsee uuden siirron ja rakentaa sovelluksen.
  • Testaus: Sarja automaattisia testejä (yksikkötestit, integraatiotestit) suoritetaan uutta koodia vastaan.
  • Palaute: Jos rakennus tai testit epäonnistuvat, tiimille ilmoitetaan välittömästi, jotta he voivat korjata ongelman nopeasti.

Continuous Delivery (CD) eli Jatkuva toimitus

Jatkuva toimitus on seuraava vaihe CI:n jälkeen. Se varmistaa, että ohjelmisto voidaan julkaista tuotantoon milloin tahansa. Jokainen muutos, joka läpäisee automaattiset testit, valmistellaan automaattisesti julkaisua varten tuotantoympäristöön. Tämä ei tarkoita, että jokainen muutos julkaistaan, mutta se tarkoittaa, että julkaisu on aina mahdollinen napin painalluksella.

Jatkuvan toimituksen päävaiheet:

  • Käyttöönotto staging-ympäristöön: Sovellus otetaan automaattisesti käyttöön staging- tai käyttäjän hyväksyntätestausympäristössä (UAT).
  • Manuaalinen hyväksyntä: Ihmisen tarkistus tai manuaalinen testi saattaa olla tarpeen ennen lopullista käyttöönottoa tuotantoon.

Continuous Deployment (CD) eli Jatkuva käyttöönotto

Jatkuva käyttöönotto on jatkuvan toimituksen edistyneempi muoto. Jatkuvan käyttöönoton avulla jokainen muutos, joka läpäisee kaikki automaattiset testit, otetaan automaattisesti käyttöön tuotantoon. Manuaalista väliintuloa ei tarvita. Tämä on tehokkain ja täysin automatisoitu malli, joka lyhentää aikaa koodin siirrosta asiakkaan saamaan arvoon minuutteihin.


Miten se toimii: CI/CD-putki

Koko CI/CD-prosessi visualisoidaan usein putkena. [Kuva CI/CD-putkesta] Tämä putki on sarja automaattisia vaiheita, joiden läpi koodin on kuljettava kehittäjän koneesta tuotantopalvelimeen. Tyypillinen putki sisältää:

  1. Lähdevaihe: Putki laukeaa koodin siirrosta.
  2. Rakennusvaihe: Koodi käännetään ja luodaan artefakteja (kuten suoritettavia tiedostoja tai kontteja).
  3. Testausvaihe: Automaattiset testit suoritetaan virheiden ja regressioiden tarkistamiseksi.
  4. Käyttöönoton vaihe: Sovellus otetaan käyttöön eri ympäristöissä (esim. kehitys-, staging-, tuotanto).

CI/CD:n edut

  • Nopeampi toimitus: Prosessin automatisointi lyhentää merkittävästi aikaa, joka kuluu uusien ominaisuuksien ja virhekorjausten saamiseen käyttäjille.
  • Parempi laatu: Automaattinen testaus löytää virheet varhaisessa vaiheessa, ennen kuin ne saavuttavat tuotannon.
  • Pienempi riski: Usein toistuvat, pienet muutokset ovat vähemmän riskialttiita kuin suuret, harvoin tehtävät julkaisut.
  • Parempi yhteistyö: Tiimit voivat työskennellä yhdessä tehokkaammin yhdistämällä koodia usein ja saamalla nopeaa palautetta.

Kysy lisätietoja!

© 2025 Arto Nevala | Y-tunnus 3140612-6 | v250925