如何在適用於 Windows 的 Amazon EC2 執行個體上使用執行個體角色在 AWS CodeCommit 存放庫上執行 Git 作業?

2 分的閱讀內容
0

我想從運行 Windows 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體在 AWS CodeCommit 存放庫上執行 Git 作業。

簡短描述

設定AWS Command Line Interface (AWS CLI) 憑證助手,以在 AWS CodeCommit 存放庫上執行 Git 作業。然後,在您的 Amazon EC2 執行個體上建立 IAM 角色以執行提取和推送動作。

**注意:**憑證助手是 CodeCommit 存放庫不需要 IAM 使用者的唯一連線方法。

解決方法

**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

1.    為您的 EC2 執行個體建立 IAM 角色,然後將下列 IAM 政策範例附加至該角色。以您 CodeCommit 存放庫的 Amazon Resource Name (ARN) 取代** arn:aws:codecommit:us-east-1:111111111111:SampleRepoName**。

{  
    "Version": "2012-10-17",  
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Action": [  
                "codecommit:GitPull",  
                "codecommit:GitPush"  
            ],  
            "Resource": "arn:aws:codecommit:us-east-1:111111111111:SampleRepoName"  
        }  
    ]  
}

**注意:**步驟 1 的政策允許 IAM 角色在 CodeCommit 存放庫上執行 Git 提取和推送動作。如需將 IAM 政策用於 CodeCommit 的更多範例,請參閱針對 CodeCommit 使用身分型政策 (IAM 政策)

2.    將您在步驟 1 中建立的 IAM 角色附加至執行個體

3.    在您的執行個體上安裝 Git。如需 Windows 執行個體的詳細資訊,請參閱 Git 網站上的下載

4.     檢查 Git 版本,以確認 Git 是否已正確安裝:

C:\Users\Administrator> git --version

5.    檢查 AWS CLI 版本,以確認已安裝 AWS CLI:

C:\Users\Administrator> aws --version

6.    若要在 Amazon EC2 執行個體上設定憑證助手,請執行下列命令:

C:\Users\Administrator> git config --global credential.helper "!aws codecommit credential-helper $@"
C:\Users\Administrator> git config --global credential.UseHttpPath true

**注意:**步驟 6 中的命令會指定搭配 AWS 憑證設定檔使用 Git 憑證助手。憑證設定檔可讓 Git 向 AWS 進行驗證,以便與 CodeCommit 存放庫互動。為了進行驗證,Git 會使用 HTTPS 和您的執行個體角色的加密簽署版本。

7.    若要明確設定您的姓名和電子郵件地址,請執行下列命令:

C:\Users\Administrator> git config --global user.email "testuser@example.com"
C:\Users\Administrator> git config --global user.name "testuser"

8.    若要將存放庫複製到該執行個體,請從適當的 CodeCommit 存放庫複製複製 URL:

C:\Users\Administrator> git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/SampleRepoName

9.     在您的 CodeCommit 存放庫中建立認可

相關資訊

設定憑證助手

如何在 Amazon Linux 2 的 Amazon EC2 執行個體上使用執行個體角色在 AWS CodeCommit 存放庫上執行 Git 作業?

AWS 官方
AWS 官方已更新 2 年前