CICDympäristöt
CI/CD-ympäristöt tarkoittavat automatisoituja prosesseja, jotka kattavat ohjelmiston rakentamisen, testauksen ja käyttöönoton jatkuvasti tuotantoon asti. Ne koostuvat lähdekoodinhallinnasta, putkitoteutuksesta, rakennus- ja testausagentteista, artefaktien varastoinnista ja tuotantoympäristöstä saadun palautteen hallinnasta.
Yleensä putkessa on vaiheet: koodin sitominen versionhallintaan, rakennus, yksikkö- ja integraatiotestit, staattinen analyysi ja turvallisuustarkastukset, artefaktin
Ympäristöt voivat olla kehitys-, testaus-, staging- ja tuotantoympäristöjä; monissa organisaatioissa käytetään myös kertaluonteisia ephemeral-ympäristöjä PR- tai
Hyödyt: nopeampi palaute, parempi laatu, toistettavuus ja parempi reaktiokyky muutoksiin. Haasteet: monimutkainen putkisto, testien epävarmuus, ympäristöjen
Parhaita käytäntöjä: infrastruktuuri koodina (IaC), salaisuuksien hallinta, artefaktien versionointi, selkeät hyväksyntäkäytännöt, roolit ja pääsynhallinta sekä monitorointi.
Yleisiä työkaluja ovat Jenkins, GitLab CI/CD, GitHub Actions, CircleCI, Azure DevOps, Bamboo ja TeamCity; konttiteknologioiden kanssa
Mittaustulokset: läpimenoaika, käyttöönottojen tiheys, MTTR ja muutoksista johtuvien virheiden osuus.