How to manage multiple CodeCommit repositories from the single machine
In this article I’ll show, how you can coonect and commit to multiple CodeCommit repositories in different AWS account from the same machine in easy and comfortable way.
- One or more AWS users with access to different CodeCommit repositories
- You're using Linux or OS X
First of all we need to setup profile for
awscli utility for each AWS account for each organization
Here's the example structure to create profiles
my_organization_account_2 for your accounts:
[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
Connect to repository
As soon as profiles been set up, we can connect and clone CodeCommit repositories. Let's assume repository
repo_1 belongs to your first account described profile
Create empty directory for this repository
cd folder/with/projects mkdir repo_1
Now, we can use
aws codecommit credential-helper to with
--profile argument to let
git connect to CodeCommit repository in your first account. And we're using
git config --local to specify configuration only for
repo_1 git repository in the first 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
And lastly, all we need to do is to add remote CodeCommit repository location (copy your URL from CodeCommit Web console) and clone our project
git remote add origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository git pull origin master
Hope, that will save you some time and efforts.