CD vs CI
Tarkoittaa jatkuvaa julkaisua.
| CD | CI | |
|---|---|---|
| Definition | Continuous Deployment tai Continuous Delivery on ohjelmistotuotantomenetelmä, jossa koodimuutokset julkaistaan automaattisesti tuotantoympäristöön sarjan automatisoitujen testien kautta. | Continuous Integration (CI) on ohjelmistokehityksen käytäntö, jossa kehittäjät yhdistävät säännöllisesti koodimuutoksensa keskitettyyn säilöön, minkä jälkeen seuraa automatisoidut rakennus- ja testausprosessit. Se on DevOps-filosofian ydinpraktiikka. |
| Categories | DevOps, alm, automation, ci, deploy, release | ALM, CI, DevOps, automation, development, quality |
Mikä on CD?
Tarkoittaa jatkuvaa julkaisua.
Määritelmä
Continuous Deployment tai Continuous Delivery on ohjelmistotuotantomenetelmä, jossa koodimuutokset julkaistaan automaattisesti tuotantoympäristöön sarjan automatisoitujen testien kautta.
Prosessi
Uudet koodimuutokset käyvät läpi testaus- ja tarkastusprosessin, ja hyväksyttyään ne siirretään suoraan tuotantoympäristöön.
Hyödyt
Jatkuva julkaisu nopeuttaa ohjelmistojen toimitusta, lyhentää uusien ominaisuuksien markkinoilletuloaikaa ja mahdollistaa nopeammat palautteen kierron.
Korjaus
Tiheät julkaisut helpottavat virheiden löytämistä ja korjaamista, sillä virheet ovat tuoreempia ja helpompia jäljittää.
Mitä CI tarkoittaa?
Tarkoittaa Continuous Integration.
Definition
Continuous Integration (CI) on ohjelmistokehityksen käytäntö, jossa kehittäjät yhdistävät säännöllisesti koodimuutoksensa keskitettyyn säilöön, minkä jälkeen seuraa automatisoidut rakennus- ja testausprosessit. Se on DevOps-filosofian ydinpraktiikka.
Automation
CI sisältää sekä kulttuurillisen komponentin, joka edistää usein tapahtuvaa integraatiota, että automaation komponentin. Koodimuutokset laukaisevat automatisoidut rakennusprosessit luomaan suoritettavaa ohjelmistoa.
Goals
CI:n keskeiset tavoitteet ovat löytää ja korjata virheet nopeasti, parantaa ohjelmiston laatua ja lyhentää uusien ohjelmistopäivitysten validoinnin ja julkaisun aikaa.
Confidence
Usein tapahtuva integraatio luo luottamusta siihen, että koodikanta on aina toimivassa tilassa.
Test Coverage
CI:n tulisi käsittää kattava joukko automatisoituja testejä, jotka kattavat ohjelmiston eri osa-alueet ja varmistavat sen QA-tason.