Wat is CI/CD (continuous integration en continuous delivery)?

Samengestelde naam voor continuous integration (CI), waarbij ontwikkelaars hun wijzigingen vaak samenvoegen in een gedeelde branch en elke samenvoeging een build en geautomatiseerde tests start, en continuous delivery (CD), die geteste wijzigingen op elk moment gereed houdt om in productie te worden gebracht. Als ook de release zelf is geautomatiseerd, heet het continuous deployment.

Japanse benaming: CI/CD(継続的インテグレーション・継続的デリバリー)

“CI/CD (continuous integration en continuous delivery)” komt voor in 2 oefenvragen uit 1 onderwerpen, bijv. Softwareontwikkeling en projectmanagement.

Vakgebied: Softwareontwikkeling en projectmanagement

Nu oefenen: vragen over CI/CD (continuous integration en continuous delivery)

Welke beschrijving van continuous integration (CI) is juist?

  1. AAan het eind van de ontwikkeling worden de wijzigingen die elke ontwikkelaar gedurende lange tijd heeft gemaakt in één keer samengevoegd en in één keer integratiegetest
  2. BOntwikkelaars voegen hun wijzigingen vaak (meerdere keren per dag) samen in een gedeelde branch, en telkens worden een build en geautomatiseerde tests uitgevoerd om problemen vroeg te vinden
  3. CWijzigingen die de tests doorstaan, worden automatisch in productie gebracht, zonder menselijke beslissing
Antwoord en toelichting tonen

Antwoord: B. Ontwikkelaars voegen hun wijzigingen vaak (meerdere keren per dag) samen in een gedeelde branch, en telkens worden een build en geautomatiseerde tests uitgevoerd om problemen vroeg te vinden

Bij continuous integration worden wijzigingen in kleine, frequente stappen samengevoegd, en elke samenvoeging start automatisch een build en tests zoals unittests op een server. Omdat de tijd tussen samenvoegingen kort is, kunnen conflicten tussen wijzigingen en defecten worden gevonden en verholpen terwijl de oorzaak nog gemakkelijk te zien is. Een ander voordeel is dat de regressietest, die alle bestaande tests opnieuw uitvoert, bij elke wijziging automatisch kan draaien. Wijzigingen die de tests doorstaan automatisch in productie brengen is continuous deployment, een stap voorbij CI.

Welke beschrijving van het verschil tussen continuous delivery en continuous deployment is juist?

  1. AContinuous delivery verwijst alleen naar het samenvoegen van broncodewijzigingen in een gedeelde branch en omvat geen build en geen tests
  2. BBij continuous deployment moet een persoon een release altijd goedkeuren voordat die in productie gaat
  3. CContinuous delivery houdt de software in een toestand waarin ze op elk moment in productie kan worden gebracht, en een persoon beslist wanneer; continuous deployment brengt wijzigingen die de tests doorstaan automatisch in productie
Antwoord en toelichting tonen

Antwoord: C. Continuous delivery houdt de software in een toestand waarin ze op elk moment in productie kan worden gebracht, en een persoon beslist wanneer; continuous deployment brengt wijzigingen die de tests doorstaan automatisch in productie

Beide sturen wijzigingen die met CI zijn geïntegreerd en getest door een geautomatiseerde pipeline, met onder meer controles in een stagingomgeving. Continuous delivery bereidt automatisch een releasebare toestand voor, en een persoon beslist of die in productie gaat. Continuous deployment automatiseert ook die laatste release. De gedachte en cultuur waarin ontwikkeling en beheer samenwerken om via zulke automatisering en feedback uit de beheerpraktijk snel, veilig en herhaaldelijk te releasen, heet DevOps.

“CI/CD (continuous integration en continuous delivery)” in de toelichting

Vragen met “CI/CD (continuous integration en continuous delivery)” (2)

  1. Welke beschrijving van continuous integration (CI) is juist?
  2. Welke beschrijving van het verschil tussen continuous delivery en continuous deployment is juist?

Verwante termen

Regressietest Agile ontwikkeling (agile development) Blackboxtesten (black-box testing) Earned value management (EVM) Equivalentiepartitionering (equivalence partitioning) Grenswaardenanalyse (boundary value analysis) Kritiekepadmethode (CPM) Scrum SLA (service level agreement) Takdekking (branch coverage)

Naar de woordenlijst