Deutsch

Minimale nutzbare kontinuierliche Lieferung
MinimumCD

Wir, die Unterzeichner , sind der Meinung, dass eine Minimale Definition von Continuous Delivery (CD) erforderlich ist, um den Ablauf der Software-Lieferung zu verbessern und die oben genannten Ergebnisse zu erzielen. Obwohl unsere Kontexte unterschiedlich sein mögen, gibt es universelle Praktiken, die allen Situationen und Teams gemeinsam sind. Indem wir diese definieren, können wir:

  • neue Praktiker auf konsistente Art und Weise einführen
  • die technischen Praktiken, die CD ausmachen, diskutieren
  • uns gegenseitig helfen, unsere derzeitigen Fähigkeiten zu verbessern

Nur wenn wir Kernpraktiken umsetzen, können wir die Vorteile von Continuous Delivery für uns nutzen.

Die untenstehenden Praktiken sind das Minimum, ein Ausgangspunkt. Das erwartete Ergebnis ist eine kontinuierliche Verbesserung der Geschwindigkeit, Qualität und Sicherheit der Lieferpipeline.

Kontinuierliche Lieferung

Kontinuierliche Lieferung (Continuous Delivery, CD) ist die technische Disziplin, bei der alle Änderungen auf sichere Weise in einem stets gleichen Verfahren bereitgestellt werden. CD deckt ein breites Spektrum von Aktivitäten ab, je nach den Besonderheiten des Liefergegenstandes. Es gibt jedoch bestimmte Verhaltensweisen und Fähigkeiten, die in jedem Kontext erfüllt sein müssen, um als “kontinuierliche Lieferung” zu gelten.

Die für CD erforderlichen Mindestaktivitäten sind:

Kontinuierliche Integration

Bei der kontinuierlichen Integration (continuous integration, CI) wird die Arbeit sehr häufig in den Stamm (trunk) der Versionskontrolle integriert und überprüft, ob die Arbeit nach bestem Wissen und Gewissen freigegeben werden kann.

Die für CI erforderlichen Mindestaktivitäten sind:

  • Trunk-basierte Entwicklung
  • Die Arbeit wird mindestens täglich in den Stamm integriert
  • Die Arbeit wird vor dem Zusammenführen mit dem Trunk automatisch getestet.
  • Die Arbeit wird beim Merge automatisch mit anderen Arbeiten getestet
  • Alle Arbeiten an Features werden gestoppt, wenn der Build defekt ist.
  • Neue Arbeiten machen die bereits gelieferten Arbeiten nicht kaputt

Trunk-basierte Entwicklung

Die trunk-basierte Entwicklung ist das branching Modell, das erforderlich ist, um die Definition von CI zu erfüllen. Es verhindert den Verlust von Arbeit, das Risiko von verfälschtem oder defektem Code bei der Lösung von Merge-Konflikten besteht und auch die (Lean-) Verschwendung durch Bewegung, die die Batchgröße erhöht.

  • Die für TBD erforderlichen Mindestaktivitäten sind:
    • Alle Änderungen werden in den Stamm integriert.
    • Wenn Zweige aus dem Stamm verwendet werden:
      • Sie stammen aus dem Stamm
      • Sie werden wieder in den Stamm integriert
      • Sie sind kurzlebig und werden nach dem Merge entfernt.

Warum haben wir das gebaut?

Für Hintergrundinformationen zu Minimum CD und Antworten auf andere häufige Fragen, lesen Sie bitte die FAQs .

Die Reise beginnen

Haben Sie Fragen, wo Sie anfangen sollen? Sehen Sie sich einige Empfehlungen an.

Beitragen

Möchten Sie eine Übersetzung, Best Practices, Vorschläge oder einen Erfahrungsbericht einreichen?

Lesen Sie unsere Richtlinien für Beiträge

Mitwirkende

(56)

Azlam Abdulsalam • Justin Abrahms • Austin Abro • Anthony Accioly • Graham Allan • Tracy Bannon • Doug Barrett • Istvan Bathazi • Kaine Bent • Marc Boudreau • Kelly Brownsberger • Shawn Button • Daniel Calle • Patrice Corbard • Álvaro Huertas Díaz • Jeff Dunn • Nick Eggleston • Stefan Ellersdorfer • Ferenc Erki • Luiz Esmiralha • Alessandro Fardin • Dave Farley • Javier Lopez Fernandez • Bryan Finster • Brent Fisher • Tiago Gabriel • Chris Gallivan • Mikhail Golubitsky • Chris Gossett • Nathen Harvey • Dave Hawes-Johnson • Adam Hawkins • Ferrix Hovi • Luca Ingianni • Patrick S. Kelso • Michael Kingery • Michael Köpf • Jan Krag • Jason Krause • Michael Küsters • Andrea Laforgia • Jean-François Lépine • Jesse Lin • Natalie Lunbeck • Javier A Magaña • Jerreck McWilliams • Nathan Nicholson • Jarkko Piiroinen • Sean Poulter • Rosalind Radcliffe • Christina Rhylander • Prasanjit Singh • Emiliano Sutil • Justin Thomsen • Falko Werner • Ravindranath Wickramanayake

Unterzeichner

(222)

Dave Farley • Bryan Finster • Ferrix Hovi • Justin Abrahms • Joe Arrowood • Jerreck McWilliams • Istvan Bathazi • Sara Gramling • Tracy Bannon • Dana Finster • Patrick S. Kelso • Ben Link • Chris Kernaghan • Chris Gossett • Joshua Barton • Marc Boudreau • Courtney Kissler • Andrea Laforgia • Ciro Lucio Tecce • Michael Nygard • Aurel Estoup • Emiliano Sutil • Jason Walker • Thomas J. Sweet • Kelly Brownsberger • Andrew Marshall • Vilas Veeraraghavan • Javier Lopez • Javier Magana • Faraz Syed • James Simon • Nathen Harvey • Jesse Getzie • Christophe Chaudier • Rosalind Radcliffe • Austin Abro • Ron Forrester • David Hawes-Johnson • Paul Moore • Shawn Button • Justin Thomsen • Jesse Lin • Markus Mikkolainen • Alessandro Fardin • James Moverley • Michael Kingery • Isaac Perez Moncho • Igor Gassmann • Wayne Gaskill • Chris Gallivan • Alexander Birk • Kaine Bent • Andrew Ochsner • Stephen Magill • Jordan Schwartz • Jean-François Lépine • Markus Arikan • Jeff Dunn • Bob Winter • Azlam Abdulsalam • Jos Hendriks • Nathan Nicholson • William H. Kirk • John Boyes • Patrice Corbard • Dirk Lehmann • Niko Kivelä • Vu Ha • Srđan Đukić • Andy Roth • Peter Maddison • Cari Copeland • Kevin LaBranche • Bjorn Edwin • Daniel Calle • Phillip Parker • Savinder Puri • Michael Küsters • Bryan Guinn • Adam Hawkins • Guillaume Faas • Leandro Zis • Jan Krag • Niko Heikkilä • Tiago Gabriel • Ray Myers • Andrew Khoury • Bosse Nyström • Mili Oručević • Albert Rigo • Anders Nyvang • Christian Pendleton • Arialdo Martini • Jamie Taylor • Eduardo Ferro • Sumit Agarwal • Vincent Ospazi • Angel Rivera • Jason van Brackel • Thomas Vitale • Martin Gross • Richard Abercrombie • João Farias • Tycko Franklin • Ali Kamalizade • Nikhil Thakare • Ono Vaticone • Jordan TEMIM • Scott Hammer • Brian Lindner • Anyul Rivas • Peter Gfader • Patrick McEvoy • Domenico Luciani • Tareq Kirresh • Dinkar Gupta • Thomas Much • John Fly • Nick Zdunic • Adrienne Shulman • Luke Gee • Garrard Kitchen • Gaël Hauspie • Jon Palle Hansen • Paolo Carta • Luca Ingianni • Falko Werner • Jared Wooten • Jon Fazzaro • Thomas A. McGonagle • Ferenc Erki • Vincent Vaur • Denis Favreau • John Wilson • Ortwin De Witte • David Nguyen • Anton Kollmats • Russell Smiley • Kevin Boots • Anthony Accioly • Jeff Schulman • Dardan Bekteshi • Don Murray • Alexander Shikanga-Tindi • Denis Baltor • Joe Crowley • Shinto C V • Tom Lingham • Andrew Baldino • Huseyin Caglayan • Michael Switzer • Jason Weiss • Maximilian Beck • Murat Han Celik • Dominik Guhr • Mike Carey • Denis Čahuk • Marcelo Chiaradia • Patrick Wolleb • R Smallegoor • Vili Seppänen • Andrew MacConnell • Idan Bidani • Doug Barrett • Jason Krause • Joshua Oates • Tobias Mende • Alvaro J. Lorente P. • Daniel Lohausen • Michael Köpf • Markus J. Haugsdal • Matthew Koch • Lage Berger-Brendryen • Brent Fisher • Masi Malmi • Stefan Friese • Hamza Rabah • Raimund Krämer • Shane Gibbons • Drew Deal • Xavier Delestre • Ravindranath Wickramanayake • Adrian Stanek • Jakub Stary • Jarkko Piiroinen • Natalie Lunbeck • Eric Minick • Marc Loupias • Paul Hammond • Igor Kurochkin • Ivan Zimine • Emanuele Filannino • Joshua Phillips • Paul Taylor • Tom Moellering • Lennart Tange • Matteo Regazzi • Ryan Whitwell • Daniel Kovacs • Harry Lascelles • Steve Fenton • Richard Hundhausen • Mark Levison • Simon Birrer • Hubert Baumgartner • Srikanth Ramanujam • Ankit Jain • Graham Jones • Viljami Kuosmanen • Woody Beverley • Kris Buytaert • Filips Nastins • Luca Zugic • Justin Hill • Matt Stefek • Jun Jose • Alex Henao • Matt Travi • Andrei Contan • Sébastien Nobour • Stefan Ellersdorfer • Thomas Han