Blog

AWS CodeCommit-Repositorien synchronisieren

Joris Conijn

Joris Conijn

Aktualisiert Oktober 16, 2025
2 Minuten

In manchen Szenarien kann es erforderlich sein, ein AWS CodeCommit-Repository zu replizieren. Als ich eine Testorganisation mit AWS Deployment Framework (ADF) einrichtete, stieß ich selbst auf dieses Problem. Da ich die Bereitstellung meiner Landing Zone testen wollte, benötigte ich eine genaue Replikation. Dazu gehört auch die CodeCommit-Einrichtung. Aber gleichzeitig wollte ich den Entwicklungs-Workflow nicht ändern. Der Arbeitsablauf ist ziemlich einfach. Sie erstellen einen Funktionszweig, in dem Sie arbeiten. Wenn Sie fertig sind, führen Sie ihn mit einem development Zweig zusammen. Wenn es in die Produktion gehen soll, führen Sie es mit dem Zweig main zusammen. Wir werden also den Zweig development für die Bereitstellung in der Testorganisation verwenden. Aber da die Testorganisation eine Kopie der Produktionsumgebung ist. Das Zusammenführen mit der Verzweigung würde sich nicht auf die Testorganisation auswirken. Dazu müssen wir die Verzweigung development mit der Testorganisation synchronisieren.

Wie funktioniert es?

Wir werden eine AWS Lambda-Funktion mit einem Git-Client verwenden, um die folgenden Aktionen durchzuführen:

  1. Klonen Sie das CodeCommit-Repository.
  2. Sehen Sie sich die Seite development an.
  3. Nehmen Sie die IAM-Rolle im Zielkonto an.
  4. Führen Sie eine git push durch. Der Name der CodeCommit-Repositorys in beiden Organisationen ist identisch. Indem Sie eine Rolle in dem AWS-Konto übernehmen, das die CodeCommit-Repositories in der Testorganisation hostet. Sie können eine git push durchführen, vorausgesetzt, Sie haben die richtigen Berechtigungen. Die Änderungen werden dann in das Repository in der Testorganisation übertragen. Es gibt einen Unterschied zwischen der Test- und der Produktionsorganisation. Die Testorganisation ist so konfiguriert, dass sie auf den Zweig hört. Die Produktionsorganisation hört auf die Verzweigung main. Damit haben Sie den folgenden Arbeitsablauf:
  5. Erstellen Sie eine Pull-Anfrage für Ihren Funktionszweig in development.
  6. Nach der Überprüfung und Genehmigung können Sie die Pull-Anfrage zusammenführen.
  7. (automatisch) ein Ereignis ausgelöst wird, verwenden wir eine Ereignisregel, um die Lambda-Funktion auszulösen.
  8. (Automatisch) wird die Lambda-Funktion dann:
    1. Klonen Sie den Code und ziehen Sie ihn aus dem Produktions-Repository.
    2. Übernehmen Sie eine Rolle in der Testorganisation.
    3. Übertragen Sie den Code in das entfernte Repository der Testorganisation.
  9. (Automatisch) wird die CodePipeline für das Repository ausgelöst. Jetzt müssen Sie nur noch bestätigen, ob Ihre Änderungen in der Testorganisation korrekt sind. Wenn Sie damit zufrieden sind, können Sie die Änderung in den Zweig einbringen. Dadurch werden die gleichen Änderungen in der Produktion eingesetzt.

Fazit

Die Synchronisierung von Git-Repositories kann Ihnen bei automatisierten Tests helfen. Weitere Informationen finden Sie im aws-lambda-git Repository.

Verfasst von

Joris Conijn

Joris is the AWS Practise CTO of the Xebia Cloud service line and has been working with the AWS cloud since 2009 and focussing on building event-driven architectures. While working with the cloud from (almost) the start, he has seen most of the services being launched. Joris strongly believes in automation and infrastructure as code and is open to learning new things and experimenting with them because that is the way to learn and grow.

Contact

Let’s discuss how we can support your journey.