Artikel ini akan menunjukkan bagaimana Anda dapat terhubung dan berkomitmen ke beberapa repositori CodeCommit di akun AWS yang berbeda dari mesin yang sama dengan mudah dan nyaman menggunakan profil AWS, pembantu kredensial, dan HTTPS (GRC).
Prasyarat
- Satu atau beberapa repositori CodeCommit.
- awscli alat terpasang.
- git alat terpasang.
- Anda menggunakan Linux atau OS X.
Konfigurasikan Kredensial AWS
Pertama-tama, kita perlu menyiapkan profil untuk awscli
utilitas untuk setiap akun AWS untuk setiap organisasi
vim ~/.aws/credentials
Berikut contoh struktur untuk membuat profil my_organization_account_1
dan my_organization_account_2
untuk akun Anda:
[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
Berikut adalah cara alternatif dan lebih aman untuk mengelola akses ke beberapa akun AWS:Cara menggunakan aws-vault untuk mengakses beberapa akun AWS dengan aman.
Hubungkan ke repositori CodeCommit menggunakan bantuan kredensial
Segera setelah profil disiapkan, kita dapat menghubungkan dan mengkloning repositori CodeCommit. Mari kita asumsikan repositori repo_1
milik profil deskripsi akun pertama Anda my_organization_account_1
.
Buat direktori kosong untuk repositori ini:
cd folder/with/projects
mkdir repo_1
Sekarang, kita dapat menggunakan aws codecommit credential-helper
dengan --profile
argumen untuk membiarkan git
sambungkan ke repositori CodeCommit di akun pertama Anda. Dan kami menggunakan git config --local
untuk menentukan konfigurasi hanya untuk repo_1
git repositori di akun pertama.
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
Dan terakhir, yang perlu kita lakukan adalah menambahkan lokasi repositori CodeCommit jarak jauh (salin URL Anda dari konsol Web CodeCommit) dan mengkloning proyek kita
git remote add origin \
https://git-codecommit.us-east-2.amazonaws.com/v1/repos/my_repository
git pull origin master
Hubungkan ke repositori CodeCommit menggunakan HTTPS (GRC)
HTTPS (GRC) adalah protokol yang digunakan dengan git-remote-codecommit (GRC). Utilitas ini menyediakan metode sederhana untuk mendorong dan menarik kode dari repositori CodeCommit dengan memperluas Git.
Ini adalah metode yang direkomendasikan AWS untuk mendukung koneksi yang dibuat dengan akses gabungan, penyedia identitas, dan kredensial sementara.
Pertama, Anda perlu menginstal git-remote-codecommit:
pip install git-remote-codecommit
Sekarang Anda dapat mengkloning repositori menggunakan perintah berikut:
git clone codecommit::us-east-2://demo-repository
Jika Anda perlu menggunakan repositori AWS CodeCommit yang sama di akun yang berbeda, Anda dapat menambahkan remote Git tambahan yang dilampirkan ke profil AWS:
git remote add \
my_organization_account_1 \
codecommit::us-east-2://my_organization_account_1@demo-repositorySummary
Ringkasan
Dalam artikel ini, kami telah menunjukkan cara menghubungkan dan berkomitmen ke beberapa repositori CodeCommit di akun AWS yang berbeda dengan mudah dan nyaman menggunakan profil AWS, pembantu kredensial, dan HTTPS (GRC).