与 HTTPS 连接的设置步骤Amazon CodeCommit在 Linux、macOS 或 Unix 上使用Amazon CLI凭证辅助程序 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

与 HTTPS 连接的设置步骤Amazon CodeCommit在 Linux、macOS 或 Unix 上使用Amazon CLI凭证辅助程序

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

注意

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

第 1 步:的初始配置 CodeCommit

按照以下步骤设置亚马逊云科技账户、创建和配置 IAM 用户并安装Amazon CLI.

创建和配置 IAM 用户以访问 CodeCommit
  1. Amazon Web Services 到http://aws.amazon.com然后选择注册.

  2. 创建 IAM 用户或使用您的Amazon Web Services 科技账户中现有的 IAM 用户。确保您具有与该 IAM 用户关联的访问密钥 ID 和私有访问密钥。有关更多信息,请参阅 。在Amazon Web Services 账户中创建 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 访问。有关更多信息,请参阅 AmazonCodeCommit 的托管策略

    选择要附加的策略后,选择后续:审核以审核要附加到 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

    • eu-central-1

    • ap-northeast-2

    • sa-east-1

    • us-west-1

    • eu-west-2

    • 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

    有关 的更多信息 CodeCommit 和Amazon Web Services 区域,请参阅区域和 Git 连接端点. 有关 IAM、访问密钥和私有密钥的更多信息,请参阅如何获得凭证?管理 IAM 用户的访问密钥. 有关 Amazon CLI 和配置文件的更多信息,请参阅命名配置文件

第 2 步:安装 Git

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

要安装 Git,我们建议您访问 GitGit 下载量.

注意

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 知识库. 在您连接到 CodeCommit 存储库首次使用 HTTPS 访问,后续访问会在约 15 分钟后失败。macOS 上的默认 Git 版本使用 Keychain Acess 实用程序存储凭证。出于安全措施,为访问您的 CodeCommit 存储库是临时的,因此密钥链中存储的凭证将在约 15 分钟后失效。为防止使用这些过期凭证,您必须执行以下操作之一:

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

    • 将 Keychain Acess 实用程序配置为不为 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 步:Connect 到 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 URLAmazon CLI.

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

    • 如果您对您的 IAM 用户使用 SSH 公有密钥/私有key pair,请复制 SSH URL。

    注意

    如果你看到欢迎使用页面,而不是存储库列表,没有存储库与您的关联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.