Auswahl einer Git-Branching-Strategie für Umgebungen mit mehreren Konten DevOps - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Auswahl einer Git-Branching-Strategie für Umgebungen mit mehreren Konten DevOps

Amazon Web Services (Mitwirkende)

Februar 2024 (Verlauf der Dokumente)

Die Umstellung auf einen cloudbasierten Ansatz und die Bereitstellung von Softwarelösungen AWS kann transformativ sein. Möglicherweise sind Änderungen an Ihrem Lebenszyklusprozess für die Softwareentwicklung erforderlich. In der Regel AWS-Konten werden während des Entwicklungsprozesses mehrere verwendet AWS Cloud. Die Wahl einer kompatiblen Git-Branching-Strategie zur Kombination mit Ihren DevOps Prozessen ist entscheidend für den Erfolg. Wenn Sie die richtige Git-Branching-Strategie für Ihr Unternehmen auswählen, können Sie DevOps Standards und Best Practices zwischen den Entwicklungsteams präzise kommunizieren. Git-Branching kann in einer einzigen Umgebung einfach sein, aber es kann verwirrend werden, wenn es auf mehrere Umgebungen angewendet wird, z. B. in Sandbox-, Entwicklungs-, Test-, Staging- und Produktionsumgebungen. Mehrere Umgebungen erhöhen die Komplexität der Implementierung. DevOps

Dieser Leitfaden enthält visuelle Diagramme von Git-Branching-Strategien, die zeigen, wie ein Unternehmen einen DevOps Multi-Account-Prozess implementieren kann. Visuelle Anleitungen helfen Teams zu verstehen, wie sie ihre Git-Branching-Strategien mit ihren DevOps Praktiken verbinden können. Die Verwendung eines Standard-Branching-Modells wie Gitflow, GitHub Flow oder Trunk für die Verwaltung des Quellcode-Repositorys hilft Entwicklungsteams, ihre Arbeit besser aufeinander abzustimmen. Diese Teams können auch Standard-Git-Schulungsressourcen im Internet nutzen, um diese Modelle und Strategien zu verstehen und umzusetzen.

DevOps Bewährte Verfahren dazu AWS finden Sie in den DevOpsLeitlinien in AWS Well-Architected. Gehen Sie bei der Lektüre dieses Leitfadens sorgfältig vor, um die richtige Filialstrategie für Ihr Unternehmen auszuwählen. Einige Strategien passen möglicherweise besser zu Ihrem Anwendungsfall als andere.

Ziele

Dieser Leitfaden ist Teil einer Dokumentationsreihe über die Auswahl und Implementierung von DevOps Branching-Strategien für Unternehmen mit mehreren AWS-Konten. Diese Reihe soll Ihnen helfen, von Anfang an die Strategie anzuwenden, die Ihren Anforderungen, Zielen und bewährten Verfahren am besten entspricht, um Ihre Erfahrung in der AWS Cloud Dieses Handbuch enthält keine DevOps ausführbaren Skripts, da sie je nach der CI/CD-Engine (Continuous Integration and Continuous Delivery) und den Technologie-Frameworks, die Ihr Unternehmen verwendet, variieren.

In diesem Leitfaden werden die Unterschiede zwischen drei gängigen Git-Branching-Strategien erklärt: GitHub Flow, Gitflow und Trunk. Die Empfehlungen in diesem Leitfaden helfen Teams dabei, eine Branching-Strategie zu finden, die ihren Unternehmenszielen entspricht. Nachdem Sie diesen Leitfaden gelesen haben, sollten Sie in der Lage sein, eine Branching-Strategie für Ihr Unternehmen auszuwählen. Nachdem Sie sich für eine Strategie entschieden haben, können Sie eines der folgenden Muster verwenden, um diese Strategie in Ihren Entwicklungsteams umzusetzen:

Es ist wichtig zu beachten, dass das, was für eine Organisation, ein Team oder ein Projekt funktioniert, möglicherweise nicht für andere geeignet ist. Die Wahl zwischen Git-Branching-Strategien hängt von verschiedenen Faktoren ab, wie der Teamgröße, den Projektanforderungen und dem gewünschten Gleichgewicht zwischen Zusammenarbeit, Integrationshäufigkeit und Release-Management.

Verwendung von CI/CD-Praktiken

AWS empfiehlt die Implementierung von Continuous Integration and Continuous Delivery (CI/CD). Dabei handelt es sich um den Prozess der Automatisierung des Lebenszyklus von Softwareversionen. Es automatisiert einen Großteil oder alle manuellen DevOps Prozesse, die traditionell erforderlich sind, um neuen Code von der Entwicklung in die Produktion zu bringen. Eine CI/CD-Pipeline umfasst die Sandbox-, Entwicklungs-, Test-, Staging- und Produktionsumgebungen. In jeder Umgebung stellt die CI/CD-Pipeline die gesamte Infrastruktur bereit, die zum Bereitstellen oder Testen des Codes erforderlich ist. Mithilfe von CI/CD können Entwicklungsteams Änderungen am Code vornehmen, der dann automatisch getestet und bereitgestellt wird. CI/CD-Pipelines bieten den Entwicklungsteams auch Steuerung und Leitplanken. Sie sorgen für Konsistenz, Standards, bewährte Verfahren und Mindestakzeptanzniveaus für die Akzeptanz und Bereitstellung von Funktionen. Weitere Informationen finden Sie unter Practicing Continuous Integration and Continuous Delivery auf AWS.

Alle in diesem Leitfaden erörterten Branching-Strategien eignen sich gut für CI/CD-Praktiken. Die Komplexität der CI/CD-Pipeline nimmt mit der Komplexität der Verzweigungsstrategie zu. Gitflow ist beispielsweise die komplexeste Branching-Strategie, die in diesem Leitfaden erörtert wird. CI/CD-Pipelines für diese Strategie erfordern mehr Schritte (z. B. aus Compliance-Gründen) und müssen mehrere gleichzeitige Produktionsversionen unterstützen. Die Verwendung von CI/CD wird mit zunehmender Komplexität der Branching-Strategie ebenfalls immer wichtiger. Dies liegt daran, dass CI/CD Leitplanken und Mechanismen für Entwicklungsteams festlegt, die verhindern, dass Entwickler den definierten Prozess absichtlich oder unabsichtlich umgehen.

AWS bietet eine Reihe von Entwicklerservices, die Sie beim Aufbau von CI/CD-Pipelines unterstützen sollen. AWS CodePipelineIst beispielsweise ein vollständig verwalteter Continuous Delivery Service, der Sie bei der Automatisierung Ihrer Release-Pipelines für schnelle und zuverlässige Anwendungs- und Infrastrukturupdates unterstützt. AWS CodeCommitwurde entwickelt, um skalierbare Git-Repositorys sicher zu hosten und AWS CodeBuildkompiliert Quellcode, führt Tests durch und produziert ready-to-deploy Softwarepakete. Weitere Informationen finden Sie unter Entwicklertools unter. AWS