

# Zusammenfassung der bewährten Methoden
<a name="summary-of-best-practices"></a>

 Nachstehend sind einige bewährte Methoden und zu vermeidende Prozesse für CI/CD aufgeführt. 

 Empfohlen: 
+  Behandeln Sie Ihre Infrastruktur als Code. 
  +  Verwenden Sie die Versionskontrolle für Ihren Infrastrukturcode. 
  +  Nutzen Sie Bugtracking-/Ticketing-Systeme. 
  +  Lassen Sie Kollegen Änderungen überprüfen, bevor Sie sie anwenden. 
  +  Richten Sie Infrastruktur-Codemuster/-designs ein. 
  +  Testen Sie Infrastrukturänderungen wie Codeänderungen. 
+  Stellen Sie integrierte Entwicklerteams mit nicht mehr als 12 autarken Mitgliedern zusammen. 
+  Lassen Sie alle Entwickler für ihren Code häufig Commits in den Hauptstamm ausführen, ohne lange Funktionszweige. 
+  Übernehmen Sie konsequent ein Build-System wie Maven oder Gradle in Ihrer gesamten Organisation und standardisieren Sie Builds. 
+  Lassen Sie die Entwickler Einheitentests entwickeln, um die Codebasis zu annähernd 100% abzudecken. 
+  Stellen Sie sicher, dass die Einheitentests in Dauer, Anzahl und Umfang 70% der gesamten Tests ausmachen. 
+  Stellen Sie sicher, dass die Einheitentests auf dem neuesten Stand sind und nicht vernachlässigt werden. Fehler bei Einheitentests sollten behoben, nicht umgangen werden. 
+  Behandeln Sie Ihre Continuous-Delivery-Konfiguration als Code. 
+  Richten Sie rollenbasierte Sicherheitskontrollen ein (d. h. legen Sie fest, wer wann was tun kann). 
  +  Überwachen/verfolgen Sie nach Möglichkeit jede Ressource. 
  +  Richten Sie Warnungen zu Diensten, Verfügbarkeit und Reaktionszeiten ein. 
  +  Halten Sie sich an das Motto „Erfassen, lernen und verbessern“. 
  +  Teilen Sie den Zugriff mit allen Teammitgliedern. 
  +  Planen Sie Metriken und Überwachung für den Lebenszyklus. 
+  Definieren und verfolgen Sie Standardmetriken. 
  +  Anzahl der Builds 
  +  Anzahl der Bereitstellungen 
  +  Durchschnittliche Zeit, bis Änderungen für die Produktion übernommen werden 
  +  Durchschnittliche Zeit von der ersten Pipeline-Phase bis zu jeder einzelnen Phase 
  +  Anzahl der Änderungen, die für die Produktion übernommen werden 
  +  Durchschnittliche Entwicklungszeit 
+  Verwenden Sie für jeden Zweig und jedes Team eigene Pipelines. 

 Zu vermeiden: 
+  Lange Zweige mit großen komplizierten Zusammenführungen 
+  Manuelle Tests 
+  Manuelle Genehmigungsprozesse, Gates, Codeüberprüfungen und Sicherheitsüberprüfungen 