AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. Weitere Informationen
- Entwickler-Tools›
- AWS CodeCommit›
- Häufig gestellte Fragen
AWS CodeCommit –Häufig gestellte Fragen
Allgemeines
Was ist AWS CodeCommit?
AWS CodeCommit ist ein sicherer, hoch skalierbarer verwalteter Service für die Quellcodeverwaltung, der es Teams erleichtert, gemeinsam Code zu generieren. Mit AWS CodeCommit müssen Sie nicht mehr Ihr eigenes Quellcodeverwaltungssystem betreiben oder sich Sorgen über die Skalierung seiner Infrastruktur machen. Mit AWS CodeCommit können Sie von Code bis hin zu Binärdateien alle Daten speichern. Der Service wird nahtlos in Ihre bestehenden Git-Tools integriert.
Was ist Git?
Git ist ein Open-Source-System zur verteilten Versionsverwaltung. Zur Arbeit mit AWS CodeCommit-Repositorys verwenden Sie die Befehlszeilenoberfläche (CLI) von Git oder einen der verfügbaren Git-Clients. Weitere Informationen zu Git finden Sie in der Git-Dokumentation. Weitere Informationen zur Verwendung von AWS CodeCommit mit Git finden Sie unter Erste Schritte mit AWS CodeCommit.
Für wen ist AWS CodeCommit gedacht?
AWS CodeCommit ist für Softwareentwickler gedacht, die ein sicheres, verlässliches und skalierbares System für die Quellcodekontrolle benötigen, um ihren Code zu speichern und zu versionieren. Außerdem kann AWS CodeCommit von allen Benutzern verwendet werden, die auf der Suche nach einem bedienfreundlichen und vollständig verwalteten Datenspeicher mit Versionsverwaltung sind. IT-Administratoren können mithilfe von AWS CodeCommit beispielsweise ihre Skripts und Konfigurationen speichern. Webdesigner können über AWS CodeCommit HTML-Seiten und Bilder speichern.
Wie unterscheidet AWS CodeCommit sich von anderen Git-basierten Systemen zur Quellcodekontrolle?
AWS CodeCommit enthält eine Reihe von Funktionen, die von anderen Git-Systemen für die Quellcodekontrolle nicht angeboten werden:
- Vollständig verwaltet – Mit AWS CodeCommit müssen Sie Ihre eigenen Server für die Quellcodekontrolle nicht mehr hosten, warten, sichern und skalieren.
- Sicher – AWS CodeCommit verschlüsselt Ihre Dateien bei der Übertragung und beim Speichern automatisch. AWS CodeCommit ist in AWS Identity and Access Management (IAM) integriert, wodurch Sie Ihren Repositorys benutzerspezifische Berechtigungen zuweisen können.
- Hoch verfügbar – AWS CodeCommit basiert auf hoch skalierbaren, redundanten und beständigen AWS-Services wie Amazon S3 und Amazon DynamoDB.
- Skalierbar – Mit AWS CodeCommit können Sie so viele Dateien speichern wie Sie möchten. Es gibt auch keine Größenbeschränkung für Repositorys.
- Schnellerer Entwicklungslebenszyklus – AWS CodeCommit hält Ihre Repositorys nahe an Ihren Build-, Staging- und Produktionsumgebungen in der AWS-Cloud. Damit können Sie die Geschwindigkeit und Frequenz Ihres Entwicklungslebenszyklus steigern.
Wie lässt sich AWS CodeCommit mit einem versionsverwalteten S3-Bucket vergleichen?
AWS CodeCommit wurde für die kollaborative Softwareentwicklung entworfen. Der Service verwaltet Stapeländerungen über mehrere Dateien hinweg, bietet parallele Verzweigungen an und enthält die Versionsdifferenzierung. Das Versioning von Amazon S3 hingegen unterstützt zwar die Wiederherstellung alter Versionen einzelner Dateien, jedoch nicht die Nachverfolgung von in Stapeln ausgeführten Änderungen über mehrere Dateien hinweg oder andere Funktionen, die für die kollaborative Softwareentwicklung erforderlich sind.
AWS CodeCommit verwenden
Was sind die ersten Schritte mit AWS CodeCommit?
Sie können Sich in der AWS-Managementkonsole anmelden, ein Repository erstellen und mit Git am Repository arbeiten. Falls Sie eine kurze Einführung in den Service wünschen, lesen Sie die Ersten Schritte. Diese enthalten auch ein ausführliches Tutorial.
Wie erstelle ich ein Repository?
Sie können ein Repository entweder über die AWS-Managementkonsole erstellen oder über die AWS Command Line Interface (AWS CLI), die AWS-SDKs oder die AWS-CodeCommit-APIs.
Wie aktualisiere ich Dateien in meinem Repository?
Sie können Ihre Dateien direkt über die CodeCommit-Konsole bearbeiten oder mit Git am Repository arbeiten. Bei Git-Befehlen können Sie zum Beispiel den Befehl git clone verwenden, um eine lokale Kopie des AWS-CodeCommit-Repositorys zu erstellen. Nehmen Sie die Änderungen an den lokalen Dateien vor und verwenden Sie den Befehl git commit, wenn Sie bereit sind Ihre Änderungen zu speichern. Mit dem Befehl git push laden Sie dann die Änderungen in das AWS-CodeCommit-Repository hoch. Eine Schritt-für Schritt-Anleitung finden Sie unter Erste Schritte mit AWS CodeCommit.
Wie importiere ich mein bestehendes Repository in AWS CodeCommit?
Über Git können Sie jedes bestehende Git-Repository in AWS CodeCommit importieren. Wenn Sie andere Repositorys haben, z. B. Subversion oder Perforce, können Sie sie mit dem Git-Importer zunächst in ein Git-Repository migrieren. Eine Schritt-für Schritt-Anleitung zum Importieren von Git-Repositorys finden Sie unter Bestehendes Repository in AWS CodeCommit migrieren. Eine Schritt-für-Schritt-Anleitung zum Importieren von lokalen oder versionslosen Inhalten finden Sie in der Dokumentation zur Git-Migration.
Welche Git-Vorgänge werden aktuell von AWS CodeCommit unterstützt?
AWS CodeCommit unterstützt derzeit die Befehle "clone", "pull", "push" und "fetch".
Unterstützt AWS CodeCommit Git-Submodule?
Ja. AWS CodeCommit kann mit Git-Repositorys verwendet werden, die Submodule enthalten.
Welche Service-Limits gelten für die Nutzung von AWS CodeCommit?
Informationen zu den Service-Limits finden Sie im Abschnitt Limits.
Wie groß kann eine einzelne Datei maximal sein, die ich in CodeCommit speichern kann?
Eine einzelne Datei in einem Repository darf nicht größer als 2 GB sein.
Wie sichere ich mein Repository?
Wenn Sie eine lokale Kopie des Repositorys aus einem vollständigen git clone-Befehl haben, können Sie damit Daten wiederherstellen. Falls Sie zusätzliche Sicherungsoptionen möchten, stehen Ihnen verschiedene Möglichkeiten zur Verfügung. Sie können beispielsweise Git auf Ihrem Backup-Server installieren und einen geplanten Auftrag ausführen, der mit dem Befehl git clone regelmäßige Snapshots des Repositorys erstellt. Sie können git pull anstelle von git clone verwenden, wenn Sie nur die inkrementellen Änderungen kopieren möchten. Beachten Sie, dass für diese Vorgänge zusätzliche Benutzer- und/oder Abfragegebühren anfallen können, je nachdem, wie Sie den Backup-Server und die Abfragefrequenz eingerichtet haben.
Wie stelle ich ein gelöschtes AWS CodeCommit-Repository wieder her?
Das Löschen eines AWS CodeCommit-Repositorys kann nicht rückgängig gemacht werden. Wenn Sie ein gelöschtes Repository wiederherstellen möchten, müssen Sie das Repository erneut erstellen und zum Hochladen der Daten entweder eine Sicherung oder eine lokale Kopie eines kompletten Klons verwenden. Wir empfehlen die Verwendung von IAM-Richtlinien zusammen mit einem MFA-Schutz, um einzugrenzen, welche Nutzer Repositorys löschen können. Weitere Informationen finden Sie unter der Frage „Kann ich AWS Identity and Access Management (IAM) zur Verwaltung von AWS CodeCommit verwenden?“ im Abschnitt „Sicherheit“ der häufig gestellten Fragen.
Wie verwalte ich Code-Überprüfungen mit AWS CodeCommit?
CodeCommit unterstützt Code-Überprüfungen und Sie können Berechtigungen für Verzweigungen Ihres Codes festlegen. In unserer Dokumentation erhalten Sie Hilfestellung zu Code-Überprüfungen und Berechtigungen auf Zweigstellenebene.
Wie integriere ich mein Continuous-Integration-System in AWS CodeCommit?
Continuous Integration-Systeme (CI) können so konfiguriert Git Code aus AWS CodeCommit abrufen. Beispiele zur Verwendung von CI-Systemen mit AWS CodeCommit finden Sie in unserem Blog-Beitrag zur Integration von AWS CodeCommit in Jenkins.
Wie erstelle ich Webhooks mit AWS CodeCommit?
Sie können in der Amazon SNS-Konsole ein SNS-Thema mit einem HTTP-Endpunkt und der gewünschten URL für den Webhook erstellen. Konfigurieren Sie dieses SNS-Thema anschließend in der AWS CodeCommit-Konsole für ein Repository-Ereignis mit Triggern. Zusätzlich können Nutzer von AWS Chatbot Benachrichtigungen konfigurieren, die an ihre Slack Channels oder Amazon-Chime-Chatrooms gesendet werden. Klicken Sie hier, um mehr darüber zu erfahren.
Kann ich zum Zweck der Sicherheitsanalyse und Behebung von Betriebsproblemen einen Verlauf aller Git-Vorgänge und API-Aufrufe von AWS CodeCommit abrufen, die für mein Konto erfolgt sind?
Ja. Sie können in der AWS CloudTrail-Konsole kürzliche CodeCommit-Ereignisse überprüfen, unter anderem Git-Vorgänge und API-Aufrufe. Zur laufenden Aufzeichnung von Ereignissen können Sie einen Trail erstellen und Ereignisse in einem Amazon S3-Bucket protokollieren. Weitere Informationen finden Sie unter „Protokollierung von AWS CodeCommit-API-Aufrufen mithilfe von AWS CloudTrail“.
Sicherheit
Kann ich AWS Identity and Access Management (IAM) zum Verwalten des Zugriffs auf AWS CodeCommit verwenden?
Ja. AWS CodeCommit unterstützt Berechtigungen auf Ressourcenebene. Sie können für jedes AWS CodeCommit-Repository angeben, welche Nutzer welche Aktionen durchführen können. Sie können für eine CodeCommit-Aktion auch AWS Multi-Factor Authentication (MFA) angeben. So erhalten Sie zusätzlichen Schutz vor zerstörerischen Aktionen wie dem Löschen von Repositorys. Neben den AWS-CodeCommit-APIs können Sie git pull und git push als Aktionen für die Zugriffskontrolle von Git-Clients festlegen. Sie können beispielsweise einen Benutzer mit Lesezugriff für ein Repository erstellen, indem Sie dem Benutzer im Repository Zugriff auf git pull geben, jedoch nicht auf git push. Weitere Informationen zur Verwendung von IAM mit AWS CodeCommit finden Sie unter Authentifizierung und Zugriffskontrolle für AWS CodeCommit. Weitere Informationen zur Authentifizierung des API-Zugriffs über MFA finden Sie unter MFA-geschützten API-Zugriff konfigurieren.
Welche Kommunikationsprotokolle unterstützt AWS CodeCommit?
Sie können zur Kommunikation mit AWS CodeCommit entweder HTTPS- oder SSH-Protokolle oder beide verwenden. Wenn Sie HTTPS verwenden, müssen Sie zunächst die AWS CLI installieren. Die AWS CLI installiert einen Git-Anmeldeassistenten, der mit AWS-Anmeldeinformationen konfiguriert werden kann. Dieser Assistent signiert mithilfe der Signaturspezifikation Signature Version 4 automatisch alle HTTPS-Anfragen an AWS CodeCommit. Um SSH verwenden zu können, müssen Benutzer ihre eigenen öffentlich-privaten Schlüsselpaare erstellen und die öffentlichen Schlüssel ihren IAM-Benutzern hinzufügen. Der private Schlüssel verschlüsselt die Kommunikation mit AWS CodeCommit. Eine Schritt-für-Schritt-Anleitung zur Einrichtung des HTTPS- und SSH-Zugriffs finden Sie auf der Seite AWS CodeCommit einrichten.
Welche Ports muss ich in meiner Firewall für den Zugriff auf AWS CodeCommit öffnen?
Sie müssen den ausgehenden Zugriff auf einen AWS CodeCommit-Service-Endpunkt auf Port 22 (SSH) oder Port 443 (HTTPS) öffnen.
Wie verschlüssle ich mein Repository in AWS CodeCommit?
Repositorys sind automatisch verschlüsselt, wenn sie gespeichert sind. Vonseiten des Kunden besteht kein Handlungsbedarf. AWS CodeCommit verwendet zur Verschlüsselung von Repositorys AWS Key Management Service (KMS). Wenn Sie Ihr erstes Repository erstellen, wird ein AWS-verwalteter CodeCommit-Key in Ihrem AWS-Konto generiert. Weitere Informationen dazu finden Sie unter Verschlüsselung für AWS-CodeCommit-Repositorys.
Kann ich kontoübergreifenden Zugriff auf mein Repository aktivieren?
Ja. Sie können in Ihrem AWS-Konto eine IAM-Rolle erstellen, um den Zugriff auf ein Repository an IAM-Benutzer in anderen AWS-Konten zu delegieren. Die IAM-Benutzer können dann ihre AWS CLI konfigurieren, um AWS Security Token Service (STS) zu verwenden und die Rolle beim Ausführen von Befehlen anzunehmen. Weitere Informationen finden Sie in der AWS-CLI-Dokumentation unter Eine Rolle annehmen.
Regionen
Welche Regionen unterstützt AWS CodeCommit?
Weitere Informationen über die Verfügbarkeit von CodeCommit für Ihre Region finden Sie unter Regionale Produkte und Services.
Fakturierung
Wie viel kostet AWS CodeCommit?
AWS CodeCommit kostet 1 USD monatlich für jeden aktiven Benutzer. Ihr Konto erhält für jeden aktiven Benutzer ein kostenloses Kontingent von 10 GB Speicher im Monat und 2.000 Git-Anfragen für den jeweiligen Monat. Nicht genutzte Kontingente für Speicherung und Git-Anfragen werden nicht auf die nächsten Monate übertragen. Wenn Sie für Ihre Benutzer mehr Speicher oder Git-Anfragen benötigen, können Sie die zusätzliche Nutzung für 0,06 USD pro GB und Monat erwerben; Git-Anfragen kosten je 0,001 USD. Benutzer können beliebig viele Git-Repositorys speichern. Ihre Nutzung wird pro Monat regionsübergreifend berechnet und automatisch in Ihrer Rechnung berücksichtigt. Weitere Informationen finden Sie auf der Seite mit den Preisangaben.
Wie wird ein aktiver Benutzer in AWS CodeCommit definiert?
Ein aktiver Benutzer ist jede beliebige eindeutige AWS-Identität (IAM-Benutzer/Rolle, Partnerbenutzer oder Stammkonto), die im Laufe des Monats auf AWS CodeCommit-Repositorys zugreift, entweder über Git-Anfragen oder durch Nutzung der AWS Management Console. Ein Server, der unter einer eindeutigen AWS-Identität auf CodeCommit zugreift, zählt als aktiver Benutzer.
Welche Git-Anfragen werden für das monatliche Kontingent gezählt?
Zu einer Git-Anfrage gehört jeder pull oder push, der Repository-Objekte übermittelt. Die Anfrage zählt nicht zu Ihren begrenzten Git-Anfragen, wenn kein Objekt übertragen wird, weil die lokalen und Remote-Verzweigungen aktualisiert sind.