Questo articolo mostrerà come connetterti e impegnarti a più repository CodeCommit in diversi account AWS dalla stessa macchina in modo semplice e comodo utilizzando i profili AWS, l'assistente per le credenziali e HTTPS (GRC).
Prerequisiti
- Uno o più repository CodeCommit.
- awscli strumento installato.
- git strumento installato.
- Stai usando Linux o OS X.
Configura le credenziali AWS
Prima di tutto, dobbiamo impostare un profilo per awscli
utility per ogni account AWS per ogni organizzazione
vim ~/.aws/credentials
Ecco la struttura di esempio per creare profili my_organization_account_1
e my_organization_account_2
per i tuoi account:
[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
Ecco un modo alternativo e più sicuro per gestire l'accesso a più account AWS:come utilizzare aws-vault per accedere in modo sicuro a più account AWS.
Connettiti al repository CodeCommit utilizzando l'assistente credenziali
Non appena i profili sono stati impostati, possiamo connettere e clonare i repository CodeCommit. Assumiamo il repository repo_1
appartiene al tuo primo profilo descritto dell'account my_organization_account_1
.
Crea una directory vuota per questo repository:
cd folder/with/projects
mkdir repo_1
Ora possiamo utilizzare aws codecommit credential-helper
a con --profile
argomento per lasciare git
connettiti al repository CodeCommit nel tuo primo account. E stiamo usando git config --local
per specificare la configurazione solo per repo_1
git repository nel primo account.
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
Infine, tutto ciò che dobbiamo fare è aggiungere un percorso di repository CodeCommit remoto (copiare il tuo URL dalla console Web CodeCommit) e clonare il nostro progetto
git remote add origin \
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository
git pull origin master
Connetti al repository CodeCommit utilizzando HTTPS (GRC)
HTTPS (GRC) è il protocollo da utilizzare con git-remote-codecommit (GRC). Questa utilità fornisce un metodo semplice per eseguire il push e il pull del codice dai repository CodeCommit estendendo Git.
Questo è il metodo consigliato da AWS per supportare le connessioni effettuate con accesso federato, provider di identità e credenziali temporanee.
Innanzitutto, devi installare git-remote-codecommit:
pip install git-remote-codecommit
Ora puoi clonare il repository usando il seguente comando:
git clone codecommit::us-east-2://demo-repository
Se devi utilizzare lo stesso repository AWS CodeCommit in account diversi, puoi aggiungere ulteriori telecomandi Git collegati ai profili AWS:
git remote add \
my_organization_account_1 \
codecommit::us-east-2://my_organization_account_1@demo-repositorySummary
Riepilogo
In questo articolo, abbiamo dimostrato come connetterci e impegnarci in più repository CodeCommit in diversi account AWS in modo semplice e comodo utilizzando i profili AWS, l'assistente per le credenziali e HTTPS (GRC).