Dieser Artikel zeigt, wie Sie mit AWS-Profilen, Credentials Helper und HTTPS (GRC) auf einfache und bequeme Weise eine Verbindung zu mehreren CodeCommit-Repositories in verschiedenen AWS-Konten herstellen und sich auf denselben Computer festlegen können.
Voraussetzungen
- Ein oder mehrere CodeCommit-Repositories.
- awscli Tool installiert.
- git Tool installiert.
- Sie verwenden Linux oder OS X.
AWS-Anmeldeinformationen konfigurieren
Zunächst müssen wir ein Profil für awscli
einrichten Dienstprogramm für jedes AWS-Konto für jede Organisation
vim ~/.aws/credentials
Hier ist die Beispielstruktur zum Erstellen von Profilen my_organization_account_1
und my_organization_account_2
für Ihre Konten:
[my_organization_account_1]
region = us-east-2
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_1
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_1
[my_organization_account_2]
region = us-east-1
aws_access_key_id = YOUR_AWS_ACCESS_KEY_FOR_ACCOUNT_2
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY_FOR_ACCOUNT_2
Hier ist eine alternative und sicherere Möglichkeit, den Zugriff auf mehrere AWS-Konten zu verwalten:How to use aws-vault to secure access multiple AWS accounts.
Verbinden mit dem CodeCommit-Repository mithilfe des Credentials Helper
Sobald Profile eingerichtet sind, können wir CodeCommit-Repositories verbinden und klonen. Nehmen wir das Repository repo_1
an gehört zu Ihrem zuerst beschriebenen Kontoprofil my_organization_account_1
.
Erstellen Sie ein leeres Verzeichnis für dieses Repository:
cd folder/with/projects
mkdir repo_1
Jetzt können wir aws codecommit credential-helper
verwenden zu mit --profile
Argument, um git
zu lassen Verbinden Sie sich mit dem CodeCommit-Repository in Ihrem ersten Konto. Und wir verwenden git config --local
um die Konfiguration nur für repo_1
anzugeben git-Repository im ersten Konto.
cd repo_1
git init
git config --local credential.helper \
'!aws codecommit credential-helper \
--profile my_organization_account_1 $@'
git config --local credential.UseHttpPath true
Und zu guter Letzt müssen wir nur noch einen Remote-Speicherort für das CodeCommit-Repository hinzufügen (kopieren Sie Ihre URL aus der CodeCommit-Webkonsole) und unser Projekt klonen
git remote add origin \
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository
git pull origin master
Mit HTTPS (GRC) eine Verbindung zum CodeCommit-Repository herstellen
HTTPS (GRC) ist das Protokoll, das mit git-remote-codecommit (GRC) verwendet werden soll. Dieses Dienstprogramm bietet eine einfache Methode zum Pushen und Pullen von Code aus CodeCommit-Repositorys durch Erweitern von Git.
Dies ist eine von AWS empfohlene Methode zur Unterstützung von Verbindungen, die mit föderiertem Zugriff, Identitätsanbietern und temporären Anmeldeinformationen hergestellt wurden.
Zuerst müssen Sie git-remote-codecommit installieren:
pip install git-remote-codecommit
Jetzt können Sie das Repository mit dem folgenden Befehl klonen:
git clone codecommit::us-east-2://demo-repository
Wenn Sie dasselbe AWS CodeCommit-Repository in verschiedenen Konten verwenden müssen, können Sie zusätzliche Git-Remote-Instanzen hinzufügen, die an AWS-Profile angehängt sind:
git remote add \
my_organization_account_1 \
codecommit::us-east-2://my_organization_account_1@demo-repositorySummary
Zusammenfassung
In diesem Artikel haben wir gezeigt, wie Sie mithilfe von AWS-Profilen, Credentials Helper und HTTPS (GRC) einfach und bequem eine Verbindung zu mehreren CodeCommit-Repositories in verschiedenen AWS-Konten herstellen und festlegen können.