Shift-left-principen innebär att problem som hittas tidigare i utvecklingscykeln är billigare och snabbare att åtgärda. En bugg fångad av ett enhetstest före commit är snabbare att fixa än samma bugg som hittas i en staging-miljö. CI/CD-pipelines operationaliserar shift-left genom att köra tester, säkerhetsskanning och policykontroller automatiskt på varje ändring.
Reproducerbarhet är den grundläggande kvaliteten hos en trovärdig pipeline. En reproducerbar build producerar samma utdata givet samma indata. Samma källkod, samma beroendeversioner, samma byggverktyg. Pinnade beroenden, lockfiler och hermetiska byggmiljöer är de tekniska medlen för att uppnå detta.
Skillnaden mellan CI och CD förväxlas ofta. CI (kontinuerlig integration) fokuserar på integreringssteget. Att slå ihop ändringar ofta så att den kombinerade kodbasen alltid är i ett känt, testat tillstånd. CD (kontinuerlig leverans) fokuserar på driftsättningssidan. Att säkerställa att varje godkänd build producerar en artefakt som kan driftsättas till vilken miljö som helst, på begäran.
De starkaste pipelines behandlar pipeline-definitionen som applikationskod. YAML-filer, skript och konfiguration som definierar hur programvara byggs och driftsätts ska finnas i versionskontroll, granskas innan de ändras och testas i icke-produktionsmiljöer.