HTTPS 连接的设置步骤Amazon CodeCommitLinux、macOS 或 Unix 上的存储库使用Amazon CLI凭证助手 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

HTTPS 连接的设置步骤Amazon CodeCommitLinux、macOS 或 Unix 上的存储库使用Amazon CLI凭证助手

在首次连接到 Amazon CodeCommit 之前,您必须先完成初始配置步骤。对于大多数用户来说,可通过执行适用于使用 Git 凭证的 HTTPS 用户中的步骤来轻松完成这一过程。但是,如果要使用根账户、联合访问或临时凭证连接 CodeCommit,您可以使用 Amazon CLI 中包含的凭证辅助程序。

注意

尽管凭证辅助程序是支持使用联合访问、身份提供程序或临时凭证连接到 CodeCommit 的方法,但推荐的方法是安装和使用 git-remote-codecommit 实用程序。有关更多信息,请参阅HTTPS 连接的设置步骤Amazon CodeCommit和git-remote-codecommit

步骤 1:的初始配置CodeCommit

按照以下步骤设置亚马逊云科技账户,创建和配置 IAM 用户,然后安装Amazon CLI。

创建和配置用于访问的 IAM 用户CodeCommit
  1. 要创建亚马逊云科技账户,请前往http://aws.amazon.com然后选择注册

  2. 在您的亚马逊云科技账户中创建 IAM 用户或使用现有用户。确保您拥有与该 IAM 用户关联的访问密钥 ID 和私有访问密钥。有关更多信息,请参阅在您的亚马逊云科技账户中创建 IAM 用户

    注意

    CodeCommit 需要使用 Amazon Key Management Service。如果您使用的是现有的 IAM 用户,请确保该用户没有任何策略明确拒绝Amazon KMS需要执行的操作CodeCommit。有关更多信息,请参阅Amazon KMS和加密

  3. 登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  4. 在 IAM 控制台的导航窗格中,选择用户,然后选择要为其配置的 IAM 用户CodeCommit访问。

  5. Permissions 选项卡上,选择 Add Permissions

  6. Grant permissions (授予权限) 中,选择 Attach existing policies directly (直接附加现有策略)

  7. 从策略列表中选择 AWSCodeCommitPowerUser 或用于 CodeCommit 访问的其他托管策略。有关更多信息,请参阅Amazon适用于 CodeCommit 的托管策略

    选择要附加的策略后,选择下一篇:回顾查看要附加到 IAM 用户的策略列表。如果列表正确,选择 Add permissions

    有关 CodeCommit 管理的策略以及与其他组和用户共享访问存储库的更多信息,请参阅共享存储库Amazon CodeCommit 的身份验证和访问控制

安装和配置 Amazon CLI
  1. 在本地计算机上,下载并安装 Amazon CLI。这是从命令行与 CodeCommit 进行交互的前提条件。我们建议你安装Amazon CLI版本 2。这是最新的主要版本Amazon CLI并支持所有最新功能。这是唯一的版本Amazon CLI支持使用根账户、联合访问权限或临时证书git-remote-codecommit

    有关更多信息,请参阅使用 Amazon 命令行界面进行设置

    注意

    CodeCommit仅适用于Amazon CLI版本 1.7.38 及更高版本。作为最佳做法,请安装 Amazon CLI 或将其升级到可用的最新版本。要确定您安装的 Amazon CLI 的版本,请运行 aws --version 命令。

    要将旧版本的 Amazon CLI 升级到最新版本,请参阅安装 Amazon Command Line Interface

  2. 运行此命令以验证CodeCommit的命令Amazon CLI已安装。

    aws codecommit help

    此命令返回的列表为CodeCommit命令。

  3. 配置Amazon CLI使用配置文件configure命令,如下所示:。

    aws configure

    出现提示时,指定Amazon访问密钥和Amazon要与一起使用的 IAM 用户的私有访问密钥CodeCommit。另外,请务必指定Amazon Web Services 区域存储库存在的地方,例如us-east-2。系统提示指定默认输出格式时,指定 json。例如,如果您正在为 IAM 用户配置个人资料:

    AWS Access Key ID [None]: Type your IAM user Amazon access key ID here, and then press Enter AWS Secret Access Key [None]: Type your IAM user Amazon 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 json here, and then press Enter

    有关创建和配置相关配置文件以与 Amazon CLI 配合使用的详细信息,请参阅以下内容:

    连接到存储库或其他存储库中的资源Amazon Web Services 区域,您必须重新配置Amazon 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 和 Amazon Web Services 区域 的更多信息,请参阅 地区和 Git 连接终端节点。有关 IAM、访问密钥和密钥的更多信息,请参阅如何获得证书?管理 IAM 用户的访问密钥。有关 Amazon CLI 和配置文件的更多信息,请参阅命名配置文件

步骤 2:安装 Git

要在中处理文件、提交和其他信息CodeCommit存储库,则必须在本地计算机上安装 Git。CodeCommit 支持 Git 1.7.9 以及更高版本。Git 版本 2.28 支持为初始提交配置分支名称。我们建议使用最新版本的 Git。

要安装 Git,我们建议您使用以下网站Git 下载量

注意

Git 是一个不断发展、定期更新的平台。有时,功能上的更改可能会影响到它与 CodeCommit 协作的方式。如果遇到 Git 和 CodeCommit 特定版本的问题,请参阅故障排除中的信息。

第 3 步:设置凭证助手

  1. 从终端使用 Git 运行 git config,在其中指定为 Amazon 凭证配置文件使用 Git 凭证辅助程序,并使 Git 凭证辅助程序发送存储库的路径:

    git config --global credential.helper '!aws codecommit credential-helper $@' git config --global credential.UseHttpPath true
    提示

    凭证助手使用默认的Amazon凭证配置文件或 Amazon EC2 实例角色。如果您创建了用于 CodeCommit 的 Amazon 凭证配置文件,则可以指定要使用的配置文件,如 CodeCommitProfile

    git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'

    如果您的配置文件名称包含空格,请确保用引号 (") 将名称引起来。

    您可以使用 --local 而不是 --global 配置每个存储库的配置文件,而不是进行全局配置。

    Git 凭证辅助程序将以下值写入 ~/.gitconfig

    [credential] helper = !aws --profile CodeCommitProfile codecommit credential-helper $@ UseHttpPath = true
    重要

    如果您想在同一台本地计算机上使用不同的 IAM 用户进行CodeCommit,你必须运行git config再次命令并指定不同的命令Amazon凭证资料。

  2. 运行 git config --global --edit 验证前面的值是否已写入 ~/.gitconfig。如果成功,您应能看到前面的值(除了 Git 全局配置文件中可能已有的值)。要退出,通常需要键入 :q,然后按 Enter。

    如果在配置凭证辅助程序后遇到问题,请参阅故障排除

    重要

    如果您使用的是 macOS,请使用以下步骤来确保正确配置了凭据助手。

  3. 如果你使用的是 macOS,请使用 HTTPS连接到CodeCommit知识库。首次使用 HTTPS 连接到 CodeCommit 存储库后,后续访问会在约 15 分钟后失败。macOS 上的默认 Git 版本使用钥匙串访问实用程序来存储凭据。为安全起见,为访问您的 CodeCommit 存储库而生成的密码是临时的,因此密钥链中存储的凭证将在约 15 分钟后失效。为防止使用这些过期凭证,您必须执行以下操作之一:

    • 安装默认不使用密钥链的 Git 版本。

    • 将 Keychain Access 实用程序配置为不为 CodeCommit 存储库提供凭证。

    1. 打开 Keychain Access 实用程序。(您可以使用 Finder 查找它。)

    2. 搜索 git-codecommit.us-east-2.amazonaws.com。突出显示该行,打开上下文菜单或右键单击它,然后选择 Get Info

    3. 选择 Access Control 选项卡。

    4. Confirm before allowing access (运行访问前进行确认) 中,选择 git-credential-osxkeychain,然后选择减号将它从列表中删除。

      注意

      在从列表中删除 git-credential-osxkeychain 后,当您运行 Git 命令时,会看到一条弹出消息。选择拒绝以继续。如果您不希望显示弹出窗口,可考虑以下其他选项:

步骤 4:连接到CodeCommit控制台并克隆存储库

如果管理员已将 CodeCommit 存储库的名称和连接详细信息发送给您,您可以跳过该步骤并直接克隆存储库。

连接 CodeCommit 存储库
  1. 打开CodeCommit控制台位于https://console.aws.amazon.com/codesuite/codecommit/home

  2. 在区域选择器中,选择Amazon Web Services 区域存储库是在哪里创建的。存储库特定于Amazon Web Services 区域。有关更多信息,请参阅地区和 Git 连接终端节点

  3. 从列表中找到您要连接的存储库并选择此存储库。选择 Clone URL (克隆 URL),然后选择克隆或连接到存储库时要使用的协议。此时将复制克隆 URL。

    • 如果您对 IAM 用户使用 Git 凭证或随附的凭证助手,请复制 HTTPS 网址Amazon CLI。

    • 如果您在本地计算机上使用 git-remote-codecommit 命令,请复制 HTTPS (GRC) URL。

    • 如果您与 IAM 用户一起使用 SSH 公钥/私钥对,请复制 SSH 网址。

    注意

    如果你看到欢迎页面而不是存储库列表,则没有与您的存储库相关联的存储库Amazon账户在Amazon Web Services 区域您在哪里登录。要创建存储库,请参阅创建一个Amazon CodeCommit知识库或按照入门 Git CodeCommit教程中的步骤进行操作。

  4. 打开终端并使用复制的 HTTPS URL 运行 git clone 命令。例如,克隆名为的存储库MyDemoRepo到名为的本地存储库my-demo-repo在中国(北京)区域:

    git clone https://git-codecommit.cn-north-1.amazonaws.com.cn/v1/repos/MyDemoRepo my-demo-repo

后续步骤

您已满足先决条件。按照中的步骤操作开始使用 CodeCommit 开始使用CodeCommit。