适用于 AWS Cloud9 的 AWS CodeCommit 教程 - AWS Cloud9

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

适用于 AWS Cloud9 的 AWS CodeCommit 教程

您可以使用 AWS CodeCommit 教程设置 AWS Cloud9 开发环境以与 CodeCommit 中的远程代码存储库进行交互。CodeCommit 是一个源代码控制服务,可用于在 AWS Cloud 中专门存储和管理 Git 存储库。有关 CodeCommit 的更多信息,请参阅 AWS CodeCommit 用户指南

按照本教程操作并创建此示例可能会对您的 AWS 账户 收费。其中包括可能对 Amazon EC2 和 CodeCommit 等服务收取的费用。有关更多信息,请参阅 Amazon EC2 定价AWS CodeCommit 定价

先决条件

在使用此示例之前,请确保您的设置满足以下要求:

  • 您必须有现成的 AWS Cloud9 EC2 开发环境。本示例假设您已经有连接到运行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 实例的 EC2 环境。如果您有不同类型的环境或操作系统,可能需要按照本示例的说明来设置相关的工具。有关更多信息,请参阅在中创建环境 AWS Cloud9

  • 您已将适用于现有环境的 AWS Cloud9 IDE 打开。当您打开环境时,AWS Cloud9 会在 Web 浏览器中为该环境打开 IDE。有关更多信息,请参阅在 AWS Cloud9 中打开环境

步骤 1:设置具有所需访问权限的 IAM 组

假设您的 AWS 凭证与您的 AWS 账户 中的管理员用户相关联,并且您希望通过该用户使用 CodeCommit,则请向前跳到步骤 2:在 AWS CodeCommit 中创建存储库

您可以使用 AWS Management ConsoleAWS Command Line Interface (AWS CLI) 完成此步骤。

使用控制台设置具有所需访问权限的 IAM 组

  1. 登录 AWS Management Console(如果尚未登录)。

    对于该步骤,我们建议使用您的 AWS 账户 中的管理员用户的凭证登录。如果您无法执行此操作,请咨询您的 AWS 账户 管理员。

  2. 打开 IAM 控制台。为此,请在控制台的导航栏中选择 Service(服务)。然后,选择 IAM

  3. 选择 Groups(组)

  4. 选择组名。

  5. Permissions(权限)选项卡中,在 Manged Policies(托管式策略)处,选择 Attach Policy(附加策略)

  6. 在策略名称列表中,选中以下框之一:

    • 选择 AWScodeCommitPowerUser 可访问 CodeCommit 的所有功能和存储库相关资源。但是,这不允许您删除 CodeCommit 存储库或在其他 AWS 服务(如 Amazon CloudWatch Events)中创建或删除存储库相关资源。

    • 选中 AWSCodeCommitFullAccess 以完全控制 AWS 账户 中的 CodeCommit 存储库和相关资源。这包括可以删除存储库。

    如果在列表中看不到任一策略名称,请在 Filter(筛选条件)框中输入策略名称以显示它们。

  7. 选择 Attach Policy(附加策略)

要查看这些 AWS 托管式策略为组授予的访问权限列表,请参阅 AWS CodeCommit 用户指南中的适用于 AWS CodeCommit 的 AWS 托管式(预定义)策略

向前跳到步骤 2:在 AWS CodeCommit 中创建存储库

使用 AWS CLI 设置具有所需访问权限的 IAM 组

运行 IAM attach-group-policy 命令,并指定组的名称以及描述所需访问权限的 AWS 托管式策略的 Amazon 资源名称(ARN)。语法如下所示。

aws iam attach-group-policy --group-name MyGroup --policy-arn POLICY_ARN

在上述命令中,将 MyGroup 替换为组的名称。将 POLICY_ARN 替换为 AWS 托管式策略的 ARN:

  • arn:aws:iam::aws:policy/AWSCodeCommitPowerUser,以访问 CodeCommit 的所有功能和存储库相关资源。但是,它不允许您删除 CodeCommit 存储库或在其他 AWS 服务(如 Amazon CloudWatch Events)中创建或删除存储库相关资源。

  • arn:aws:iam::aws:policy/AWSCodeCommitFullAccess,以完全控制 AWS 账户 中的 CodeCommit 存储库和相关资源。这包括可以删除存储库。

要查看这些 AWS 托管式策略为组授予的访问权限列表,请参阅 AWS CodeCommit 用户指南中的适用于 AWS CodeCommit 的 AWS 托管式(预定义)策略

步骤 2:在 CodeCommit 中创建存储库

在此步骤中,您使用 CodeCommit 控制台在 CodeCommit 中创建一个远程代码存储库。

如果已具有一个 CodeCommit 存储库,请向前跳到步骤 3:将您的环境连接到远程存储库

您可以使用 AWS Management ConsoleAWS Command Line Interface (AWS CLI) 完成此步骤。

使用 控制台 在 CodeCommit 中创建存储库

  1. 假设您在上一步中以管理员用户身份登录到 AWS Management Console,并且不希望使用管理员用户创建存储库。然后,退出 AWS Management Console。

  2. 打开 CodeCommit 控制台 (https://console.aws.amazon.com/codecommit

  3. 在控制台的导航栏中,使用区域选择器选择要在其中创建存储库的 AWS 区域(如美国东部(俄亥俄州))。

  4. 如果显示欢迎页面,请选择 Get started(开始使用)。否则,选择 Create repository(创建存储库)

  5. Create repository(创建存储库)页面中,为 Repository name(存储库名称)键入新存储库的名称(例如 MyDemoCloud9Repo)。如果您选择不同的名称,请在本示例中替换为该名称。

  6. (可选)对于 Description(描述),请键入有关该存储库的信息。例如,您可以输入:This is a demonstration repository for the AWS Cloud9 sample.

  7. 选择 Create repository(创建存储库)。将显示 Connect to your repository(连接到您的存储库)窗格。选择 Close(关闭),因为将在本主题后面以不同方式连接到存储库。

向前跳到步骤 3:将您的环境连接到远程存储库

使用 AWS CLI 在 CodeCommit 中创建存储库

运行 create-repository命令 AWS CodeCommit。指定存储库的名称、可选描述以及要在其中创建存储库的 AWS 区域。

aws codecommit create-repository --repository-name MyDemoCloud9Repo --repository-description "This is a demonstration repository for the AWS Cloud9 sample." --region us-east-2

在上述命令中,将 us-east-2 替换为要在其中创建存储库的 AWS 区域 的 ID。有关受支持的区域的列表,请参阅《Amazon Web Services 一般参考》中的 AWS CodeCommit

如果您选择使用不同的存储库名称,请在本示例中替换为该名称。

步骤 3:将您的环境连接到远程存储库

在该步骤中,您使用 AWS Cloud9 IDE 连接到在上一步中创建或确定的 CodeCommit 存储库。

注意

如果您更喜欢通过可视化界面使用 Git,可以克隆远程存储库。然后,您可以使用 IDE 中提供的 Git 面板功能添加文件。

完成以下若干组过程之一,具体取决于您的 AWS Cloud9 开发环境类型。

环境类型 执行以下过程

EC2 环境

  1. 从 IDE 的终端会话中,运行以下两个命令:

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

    有关更多信息,请参阅 AWS CodeCommit 用户指南集成 AWS Cloud9 与 AWS CodeCommit部分的步骤 2:在 AWS Cloud9 EC2 开发环境上配置 AWS CLI 凭证辅助程序

  2. 向前跳到本主题后面的步骤 4:将远程存储库克隆到您的环境中

SSH 环境

  1. 如果在环境中尚未安装 Git,请在 IDE 中使用终端会话安装它。有关更多信息,请参阅《AWS CodeCommit 用户指南》中的在 Linux、macOS 或 Unix 上设置到 AWS CodeCommit 存储库中的 SSH 连接的步骤部分的步骤 2:安装 Git

  2. 完成 AWS CodeCommit 用户指南中的在 Linux、macOS 或 Unix 上设置到 AWS CodeCommit 存储库的 SSH 连接的步骤部分的步骤 3:在 Linux、macOS 或 Unix 上配置凭证

    在指示您登录到 AWS Management Console 并打开 IAM 控制台时,我们建议使用您的 AWS 账户 中的管理员用户的凭证登录。如果您无法执行此操作,请咨询您的 AWS 账户 管理员。

  3. 向前跳到本主题后面的步骤 4:将远程存储库克隆到您的环境中

步骤 4:将远程存储库克隆到您的环境

在该步骤中,您使用 AWS Cloud9 IDE 将 CodeCommit 中的远程存储库克隆到您的环境中。

要克隆存储库,请运行 git clone 命令。将 CLONE_URL 替换为存储库的克隆 URL。

git clone CLONE_URL

对于 EC2 环境,请提供以 https:// 开头的 HTTPS 克隆 URL。对于 SSH 环境,请提供以 ssh:// 开头的 SSH 克隆 URL。

要获取存储库的完整克隆 URL,请参阅 AWS CodeCommit 用户指南中的使用 AWS CodeCommit 控制台查看存储库详细信息

如果在您的存储库中没有任何文件,则会显示一条警告消息,如 You appear to have cloned an empty repository.。这是预期行为。您将稍后处理该问题。

步骤 5:向存储库添加文件

在这一步中,您将在 AWS Cloud9 环境的克隆存储库中创建三个简单文件。接下来,将文件添加到克隆存储库的 Git 暂存区域。最后,您提交暂存的文件,并将提交内容推送到 CodeCommit 中的远程存储库。

如果在克隆的存储库中已具有文件,则该过程已完成,您可以跳过本示例的其余部分。

在存储库中添加文件
  1. 创建新的文件。在菜单栏上,选择 File(文件)New File(新建文件)

  2. 在文件中输入以下内容,然后选择 File(文件)> Save(保存),以在您的 AWS Cloud9 环境的 MyDemoCloud9Repo 目录中将该文件保存为 bird.txt

    bird.txt -------- Birds are a group of endothermic vertebrates, characterized by feathers, toothless beaked jaws, the laying of hard-shelled eggs, a high metabolic rate, a four-chambered heart, and a lightweight but strong skeleton.
    注意

    要确认您将该文件保存到正确的目录中,请在 Save As(另存为)对话框中选择 MyDemoCloud9Repo 文件夹。然后,确保 Folder(文件夹)显示 /MyDemoCloud9Repo

  3. 再创建两个名为 insect.txtreptile.txt 的文件,内容如下。将这些文件保存到相同的 MyDemoCloud9Repo 目录中。

    insect.txt ---------- Insects are a class of invertebrates within the arthropod phylum that have a chitinous exoskeleton, a three-part body (head, thorax, and abdomen), three pairs of jointed legs, compound eyes, and one pair of antennae.
    reptile.txt ----------- Reptiles are tetrapod (four-limbed vertebrate) animals in the class Reptilia, comprising today's turtles, crocodilians, snakes, amphisbaenians, lizards, tuatara, and their extinct relatives.
  4. 在终端中,运行 cd 命令以切换到 MyDemoCloud9Repo 目录。

    cd MyDemoCloud9Repo
  5. 通过运行 git status 命令,确认这些文件已成功保存到 MyDemoCloud9Repo 目录中。所有三个文件将作为未跟踪的文件列出。

    Untracked files: (use "git add <file>..." to include in what will be committed) bird.txt insect.txt reptile.txt
  6. 运行 git add 命令,以将这些文件添加到 Git 暂存区域中。

    git add --all
  7. 再次运行 git status 命令,以确认这些文件已成功添加到 Git 暂存区域中。所有三个文件现在列为更改待提交。

    Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: bird.txt new file: insect.txt new file: reptile.txt
  8. 运行 git commit 命令以提交暂存的文件。

    git commit -m "Added information about birds, insects, and reptiles."
  9. 运行 git push 命令,以将提交内容推送到 CodeCommit 中的远程存储库。

    git push -u origin master
  10. 确认是否成功推送这些文件。如果尚未打开 CodeCommit 控制台,请将其打开 (https://console.aws.amazon.com/codecommit)。

  11. 在顶部导航栏的右侧边缘附近,选择您在其中创建了存储库的 AWS 区域(如美国东部(俄亥俄州))。

  12. Dashboard(控制面板)页中,选择 MyDemoCloud9Repo。将显示这三个文件。

要继续试验 CodeCommit 存储库,请参阅 AWS CodeCommit 用户指南中的浏览存储库的内容

如果不熟悉 Git 并且不希望毁坏您的 CodeCommit 存储库,请试验 Try Git 网站上的示例 Git 存储库。

步骤 6:清除

为防止在您使用完该示例后一直对您的 AWS 账户 收费,请删除 CodeCommit 存储库。有关说明,请参阅 AWS CodeCommit 用户指南中的删除 AWS CodeCommit 存储库

同时确保删除环境。有关说明,请参阅删除环境