我想对 AWS CodeCommit 存储库执行 Git 操作。而且我想在 Amazon Linux 2 版 Amazon Elastic Compute Cloud (Amazon EC2) 实例上使用实例角色。
通过 AWS 命令行界面 (AWS CLI) 凭证助手,在您的 EC2 实例上使用实例角色对 CodeCommit 存储库执行 Git 操作。
**注意:**对于不需要 AWS Identity and Access Management (IAM) 用户的 CodeCommit 存储库,使用凭证助手是唯一的连接方法。
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
1.为您的 EC2 实例创建 IAM 角色,然后将以下示例 IAM 策略附加到该角色。将 arn:aws:codecommit:us-east-1:111111111111:testrepo 替换为您的 CodeCommit 存储库的 ARN。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "arn:aws:codecommit:us-east-1:111111111111:testrepo" } ] }
**注意:**步骤 1 的策略允许 IAM 角色对 CodeCommit 存储库执行 Git 拉取和推送操作。有关对 CodeCommit 使用 IAM 策略的更多示例,请参阅对 CodeCommit 使用基于身份的策略(IAM 策略)。
2.将您在步骤 1 中创建的 IAM 角色附加到 EC2 实例。
3.在您的 EC2 实例上安装 Git。
**注意:**有关详细信息,请参阅 Git 网站上的下载。
4.要在 EC2 实例上设置凭证助手,请运行以下命令:
$ git config --global credential.helper '!aws codecommit credential-helper $@' $ git config --global credential.UseHttpPath true
**注意:**步骤 4 中的命令指定 Git 凭证助手与 AWS 凭证配置文件一起使用。该凭证配置文件使 Git 能够向 AWS 进行身份验证,以便与 CodeCommit 存储库进行交互。进行身份验证时,Git 使用 HTTPS 和您的 EC2 实例角色的加密签名版本。
5.要显式配置您的姓名和电子邮件地址,请运行以下命令:
$ git config --global user.email "testuser@example.com" $ git config --global user.name "testuser"
**注意:**您的姓名和电子邮件地址根据您的用户名和主机名自动配置。
6.要将存储库克隆到 EC2 实例,请运行以下命令:
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/testrepo
7.在您的 CodeCommit 存储库中创建 commit。
**注意:**如果您使用的是 Windows,请参阅使用 AWS CLI 凭证助手在 Windows 上通过 HTTPS 连接到 AWS CodeCommit 存储库的设置步骤。
使用 AWS CLI 凭证助手在 Linux、macOS 或 Unix 上通过 HTTPS 连接到 AWS CodeCommit 存储库的设置步骤
如何在 Windows 版 Amazon EC2 实例上使用实例角色对 AWS CodeCommit 存储库执行 Git 操作?