AWS CodeCommit 不再向新客户提供。的现有客户 AWS CodeCommit 可以继续照常使用该服务。了解更多”
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS CLI 凭证助手在 Windows 上设置到 AWS CodeCommit 存储库的 HTTPS 连接的步骤
在首次连接到 AWS CodeCommit 之前,您必须先完成初始配置步骤。对于大多数用户来说,可通过执行适用于使用 Git 凭证的 HTTPS 用户中的步骤来轻松完成这一过程。但是,如果要使用根账户、联合访问或临时凭证连接 CodeCommit,可以使用 AWS CLI 中包含的凭证助手。
注意
虽然使用联合访问、身份提供者或临时凭证连接 CodeCommit 时,凭证助手是一种受支持的方法,但推荐的方法是安装并使用 git-remote-codecommit 实用程序。有关更多信息,请参阅使用 git-remote-codecommit 建立到 AWS CodeCommit 的 HTTPS 连接的设置步骤。
本主题将指导您完成所需步骤以安装 AWS CLI、设置您的计算机和 AWS 配置文件、连接到 CodeCommit 存储库并将存储库克隆到您的计算机(这也称为创建本地存储库)。如果您刚刚接触 Git,我们建议您查看哪里可以找到有关 Git 的更多信息?中的信息。
步骤 1:CodeCommit 的初始配置
按照以下步骤设置 Amazon Web Services 账户、创建和配置 IAM 用户并安装 AWS CLI。AWS CLI 包含一个凭证助手,您需要对其进行配置,以便通过 HTTPS 方式连接 CodeCommit 存储库。
创建和配置用于访问 CodeCommit 的 IAM 用户
前往 http://aws.amazon.com
,并选择注册,创建一个 Amazon Web Services 账户。 创建 IAM 用户或使用您的 Amazon Web Services 账户中的现有用户。确保您具有与该 IAM 用户关联的访问密钥 ID 和秘密访问密钥。有关更多信息,请参阅在 Amazon Web Services 账户中创建 IAM 用户。
注意
CodeCommit 需要 AWS Key Management Service。如果使用现有的 IAM 用户,请确保未向该用户附加明确拒绝 CodeCommit 所需的 AWS KMS 操作的策略。有关更多信息,请参阅AWS KMS 和加密。
登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择用户,然后选择要配置进行 CodeCommit 访问的 IAM 用户。
在 Permissions 选项卡上,选择 Add Permissions。
-
在 Grant permissions (授予权限) 中,选择 Attach existing policies directly (直接附加现有策略)。
从策略列表中选择 AWSCodeCommitPowerUser 或用于 CodeCommit 访问的其他托管策略。有关更多信息,请参阅AWS 的托管策略 CodeCommit。
选择要附加的策略后,选择下一步:审核以审核要附加到 IAM 用户的策略列表。如果列表正确,选择 Add permissions。
有关 CodeCommit 托管策略以及与其他组和用户共享访问存储库的更多信息,请参阅共享存储库和 AWS CodeCommit的身份验证和访问控制。
安装和配置 AWS CLI
-
在本地计算机上,下载并安装 AWS CLI。这是从命令行与 CodeCommit 进行交互的先决条件。我们建议您安装 AWS CLI 版本 2。它是 AWS CLI 的最新主版本,支持所有最新功能。它是唯一支持使用根账户、联合访问权限或临时证书与 git-remote-codecommit 的 AWS CLI 版本。
有关更多信息,请参阅使用 AWS 命令行界面进行设置。
注意
CodeCommit 仅适用于 AWS CLI 1.7.38 及更高版本。作为最佳做法,请安装 AWS CLI 或将其升级到可用的最新版本。要确定您安装的 AWS CLI 的版本,请运行 aws --version 命令。
要将旧版本的 AWS CLI 升级到最新版本,请参阅安装 AWS Command Line Interface。
-
运行此命令以验证 AWS CLI 中的 CodeCommit 命令是否已安装:
aws codecommit help
该命令返回 CodeCommit 命令的列表。
-
使用 configure 命令通过配置文件来配置 AWS CLI,如下所示:
aws configure
出现提示时,指定要用于 CodeCommit 的 IAM 用户的 AWS 访问密钥和 AWS 秘密访问密钥。此外,请务必指定存储库所在的 AWS 区域,例如
us-east-2
。系统提示指定默认输出格式时,指定json
。例如,如果您正在为 IAM 用户配置相关配置文件:AWS Access Key ID [None]:
Type your IAM user AWS access key ID here, and then press Enter
AWS Secret Access Key [None]:Type your IAM user AWS secret access key here, and then press Enter
Default region name [None]:Type a supported region for CodeCommit here, and then press Enter
Default output format [None]:Type
jsonhere, and then press Enter
有关创建和配置相关配置文件以与 AWS CLI 配合使用的详细信息,请参阅以下内容:
要连接到另一个 AWS 区域中的存储库或资源,您必须使用默认区域名称重新配置 AWS CLI。CodeCommit 支持的默认区域名称包括:
-
us-east-2
-
us-east-1
-
eu-west-1
-
us-west-2
-
ap-northeast-1
-
ap-southeast-1
-
ap-southeast-2
-
ap-southeast-3
-
me-central-1
-
eu-central-1
-
ap-northeast-2
-
sa-east-1
-
us-west-1
-
eu-west-2
-
ap-south-1
-
ap-south-1
-
ca-central-1
-
us-gov-west-1
-
us-gov-east-1
-
eu-north-1
ap-east-1
me-south-1
cn-north-1
cn-northwest-1
eu-south-1
ap-northeast-3
af-south-1
il-central-1
有关 CodeCommit 和 AWS 区域的更多信息,请参阅区域和 Git 连接端点。有关 IAM、访问密钥和秘密密钥的更多信息,请参阅如何获取凭证?和管理 IAM 用户的访问密钥。有关 AWS CLI 和配置文件的更多信息,请参阅命名配置文件。
-
步骤 2:安装 Git
要使用 CodeCommit 存储库中的文件、提交和其他信息,您必须在本地计算机上安装 Git。CodeCommit 支持 Git 1.7.9 及更高版本。Git 版本 2.28 支持为初始提交配置分支名称。我们建议使用最新版本的 Git。
要安装 Git,建议访问 Git for Windows
在调整 PATH 环境步骤中出现提示时,从命令行中选择使用 Git 的选项。
(可选)如果您打算将 HTTPS 与 AWS CLI 中包含的凭证助手一起使用,而不是为 CodeCommit 配置 Git 凭证,请在配置额外选项页面上,确保清除启用 Git Credential Manager 选项。仅当 IAM 用户配置 Git 凭证时,Git Credential Manager 才与 CodeCommit 兼容。有关更多信息,请参阅 适用于使用 Git 凭证的 HTTPS 用户 和 Windows 版 Git:我安装了 Windows 版 Git,但在访问我的存储库时被系统拒绝 (403):
注意
Git 是一个不断发展的平台,会定期进行更新。有时,功能上的更改可能会影响到它与 CodeCommit 协作的方式。如果在使用特定版本的 Git 和 CodeCommit 时遇到问题,请参阅故障排除中的信息。
步骤 3:设置凭证助手
AWS CLI 包含一个可供您与 CodeCommit 配合使用的 Git 凭证助手。该 Git 凭证助手需要 AWS 凭证配置文件,后者存储着 IAM 用户的 AWS 访问密钥 ID 和 AWS 秘密访问密钥(以及默认的 AWS 区域名称和默认输出格式)的副本。Git 凭证助手使用该信息自动对 CodeCommit 进行身份验证,因此,当您使用 Git 与 CodeCommit 交互时,不必每次都输入该信息。
-
打开命令提示符,使用 Git 运行 git config,在其中指定为 AWS 凭证配置文件使用 Git 凭证助手,这可以使 Git 凭证助手发送存储库的路径。
git config --global credential.helper "!aws codecommit credential-helper $@" git config --global credential.UseHttpPath true
Git 凭证辅助程序向 .gitconfig 文件写入以下内容:
[credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true
重要
-
如果您使用的是 Bash 仿真器而不是 Windows 命令行,则必须使用单引号而不是双引号。
-
凭证助手将使用默认的 AWS 配置文件或 Amazon EC2 实例角色。如果您已创建要使用的 AWS 凭证配置文件,例如
CodeCommitProfile
,可以按照如下方式修改命令来使用它:git config --global credential.helper "!aws codecommit credential-helper --profile
CodeCommitProfile
$@"这将向 .gitconfig 文件中写入以下内容:
[credential] helper = !aws codecommit credential-helper --profile=
CodeCommitProfile
$@ UseHttpPath = true -
如果您的配置文件名称包含空格,则在运行此命令后,必须编辑 .gitconfig 文件以使用单引号 (') 将此命令引起来。否则,凭证辅助程序将不起作用。
-
如果您的 Windows 版 Git 安装包含 Git Credential Manager 实用程序,则在前几次连接尝试后,您会看到 403 错误或向 Credential Manager 实用程序提供凭证的提示。解决该问题的最可靠的方法是卸载并重新安装 Windows 版 Git,安装时不要选中 Git Credential Manager 实用程序选项,因为它与 CodeCommit 不兼容。若要保留 Git Credential Manager 实用程序,您必须执行额外的配置步骤来使用 CodeCommit,包括手动修改 .gitconfig 文件,以指定在连接 CodeCommit 时使用 AWS CodeCommit 的凭证助手。从 Credential Manager 实用程序(可在“控制面板”中找到该实用程序)中删除任何已存储的凭证。删除所有已存储的凭证后,向 .gitconfig 文件中添加以下内容并将其保存,然后在新的命令提示符窗口中重试连接:
[credential "https://git-codecommit.us-east-2.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true [credential "https://git-codecommit.us-east-1.amazonaws.com"] helper = !aws codecommit credential-helper $@ UseHttpPath = true
您可能还必须先通过指定 --system 而非 --global 或 --local 来重新配置 git config 设置,之后所有连接才能正常工作。
-
如果您想要在同一台本地计算机上为 CodeCommit 使用不同的 IAM 用户,您应指定 git config --local 而不是 git config --global,并为每个 AWS 凭证配置文件运行配置。
-
-
运行 git config --global --edit 验证上面的值是否已写入用户配置文件的 .gitconfig 文件(默认为
%HOME%\.gitconfig
或
)。如果成功,您应该能够看到前面的值(以及 Git 全局配置文件中已有的值)。要退出,通常需要键入drive
:\Users\UserName
\.gitconfig:q
,然后按 Enter。
步骤 4:连接 CodeCommit 控制台并克隆存储库
如果管理员已将 CodeCommit 存储库的名称和连接详细信息发送给您,您可以跳过该步骤并直接克隆存储库。
连接 CodeCommit 存储库
打开 CodeCommit 控制台:https://console.aws.amazon.com/codesuite/codecommit/home
。 -
在区域选择器中,选择创建存储库的 AWS 区域。存储库特定于 AWS 区域。有关更多信息,请参阅区域和 Git 连接端点。
-
从列表中找到您要连接的存储库并选择此存储库。选择 Clone URL (克隆 URL),然后选择克隆或连接到存储库时要使用的协议。此时将复制克隆 URL。
如果您使用的是 IAM 用户的 Git 凭证或 AWS CLI 附带的凭证助手,请复制 HTTPS URL。
如果您在本地计算机上使用 git-remote-codecommit 命令,请复制 HTTPS (GRC) URL。
如果您使用的是 IAM 用户的 SSH 公有密钥/私有密钥对,请复制 SSH URL。
注意
如果看到欢迎页面,而不是存储库列表,说明在您登录的 AWS 区域中没有存储库与您的 AWS 账户关联。要创建存储库,请参阅创建 AWS CodeCommit 存储库或按照Git 和 CodeCommit 入门教程中的步骤进行操作。
-
打开命令提示符,使用您复制的 HTTPS URL 运行 git clone 命令。这将在运行命令的目录的子目录中创建本地存储库。例如,要将名为
MyDemoRepo
的存储库克隆成美国东部(俄亥俄州)区域中名为my-demo-repo
的存储库,请运行以下命令:git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
在某些版本的 Windows 上,您可能会看到一条弹出消息,要求您输入用户名和密码。这是 Windows 的内置凭证管理系统,但它与 AWS CodeCommit 的凭证辅助程序不兼容。选择 Cancel (取消)。
后续步骤
您已满足先决条件。按照 入门 CodeCommit 中的步骤开始使用 CodeCommit。