

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# AWS CodeCommit 的教程 AWS Cloud9
<a name="sample-codecommit"></a>

您可以使用本 AWS CodeCommit 教程来设置 AWS Cloud9 开发环境，以便与中的远程代码存储库进行交互 CodeCommit。 CodeCommit 是一项源代码控制服务，可用于在中私下存储和管理Git存储库 AWS 云。有关的更多信息 CodeCommit，请参阅《[AWS CodeCommit 用户指南》](https://docs.aws.amazon.com/codecommit/latest/userguide/)。

按照本教程并创建此示例可能会导致向您收取费用 AWS 账户。这些费用包括 Amazon EC2 等服务可能产生的费用 CodeCommit。有关更多信息，请参阅 [Amazon EC2 定价](https://aws.amazon.com/ec2/pricing/)和 [AWS CodeCommit 定价](https://aws.amazon.com/codecommit/pricing/)。
+  [先决条件](#sample-codecommit-prereqs) 
+  [步骤 1：设置具有所需访问权限的 IAM 组](#sample-codecommit-permissions) 
+  [步骤 2：在中创建存储库 AWS CodeCommit](#sample-codecommit-create-repo) 
+  [步骤 3：将您的环境连接到远程存储库](#sample-codecommit-connect-repo) 
+  [步骤 4：将远程存储库克隆到您的环境](#sample-codecommit-clone-repo) 
+  [步骤 5：向存储库添加文件](#sample-codecommit-add-files) 
+  [步骤 6：清除](#sample-codecommit-clean-up) 

## 先决条件
<a name="sample-codecommit-prereqs"></a>

在使用此示例之前，请确保您的设置满足以下要求：
+ **您必须拥有现有 AWS Cloud9 的 EC2 开发环境。**本示例假设您已经有连接到运行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 实例的 EC2 环境。如果您有不同类型的环境或操作系统，可能需要按照本示例的说明来设置相关的工具。有关更多信息，请参阅 [在中创建环境 AWS Cloud9](create-environment.md)。
+ **您已经打开了现有环境的 AWS Cloud9 IDE。**打开环境时，会在 Web 浏览器中 AWS Cloud9 打开该环境的 IDE。有关更多信息，请参阅 [在中打开环境 AWS Cloud9](open-environment.md)。

## 步骤 1：设置具有所需访问权限的 IAM 组
<a name="sample-codecommit-permissions"></a>

假设您的 AWS 凭据与您的管理员用户相关联 AWS 账户，并且您想使用该用户进行操作， CodeCommit 那么请跳至[中的步骤 2：创建存储库 AWS CodeCommit](#sample-codecommit-create-repo)。

您可以使用 [AWS 管理控制台](#sample-codecommit-permissions-console) 或 [AWS Command Line Interface (AWS CLI)](#sample-codecommit-permissions-cli) 完成此步骤。

### 使用控制台设置具有所需访问权限的 IAM 组
<a name="sample-codecommit-permissions-console"></a>

1. 如果您尚未登录 AWS 管理控制台，请登录。

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

1. 打开 IAM 控制台。为此，请在控制台的导航栏中选择 **Service（服务）**。然后，选择 **IAM**。

1. 选择 **Groups（组）**。

1. 选择组名。

1. 在 **Permissions（权限）**选项卡中，在 **Manged Policies（托管式策略）**处，选择 **Attach Policy（附加策略）**。

1. 在策略名称列表中，选中以下框之一：
   + 选择**AWSCodeCommitPowerUser**即可访问存储库相关资源的所有功能 CodeCommit 和资源。但是，这不允许您删除 CodeCommit 存储库或在其他 AWS 服务（例如 Amazon Events）中创建或删除与仓库相关的资源。 CloudWatch 
   + 要完全控制中的 CodeCommit 存储库和相关资源，请选择**AWSCodeCommitFullAccess**该选项 AWS 账户。这包括可以删除存储库。

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

1. 选择**附加策略**。

要查看这些 AWS 托管策略授予群组的访问权限列表，请参阅*AWS CodeCommit 用户指南 AWS CodeCommit*中的[AWS 托管（预定义）策略](https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#managed-policies)。

向前跳至[步骤 2：在中创建存储库 AWS CodeCommit](#sample-codecommit-create-repo)。

### 使用设置具有所需访问权限的 IAM 群组 AWS CLI
<a name="sample-codecommit-permissions-cli"></a>

运行 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 Events）中创建或删除与仓库相关的资源。 CloudWatch 
+  `arn:aws:iam::aws:policy/AWSCodeCommitFullAccess`以完全控制中的 CodeCommit 存储库和相关资源 AWS 账户。这包括可以删除存储库。

要查看这些 AWS 托管策略授予群组的访问权限列表，请参阅*AWS CodeCommit 用户指南 AWS CodeCommit*中的[AWS 托管（预定义）策略](https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#managed-policies)。

## 步骤 2：在中创建存储库 CodeCommit
<a name="sample-codecommit-create-repo"></a>

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

如果您已经有 CodeCommit 存储库，请跳至[步骤 3：将您的环境连接到远程存储库](#sample-codecommit-connect-repo)。

您可以使用 [AWS 管理控制台](#sample-codecommit-create-repo-console) 或 [AWS Command Line Interface (AWS CLI)](#sample-codecommit-create-repo-cli) 完成此步骤。

### CodeCommit 使用控制台在中创建存储库
<a name="sample-codecommit-create-repo-console"></a>

1. 假设您在上一步中 AWS 管理控制台 以管理员用户身份登录，并且您不想使用管理员用户来创建存储库。然后，退出 AWS 管理控制台。

1. 在 [https://console.aws.amazon.com/codeco CodeCommit ](https://console.aws.amazon.com/codecommit) mmit 处打开控制台。

1. 在控制台的导航栏中，使用区域选择器选择要在其中创建存储库的 AWS 区域 （如**美国东部（俄亥俄州）**）。

1. 如果显示欢迎页面，请选择 **Get started（开始使用）**。否则，选择 **Create repository（创建存储库）**。

1. 在 **Create repository**（创建存储库）页面中，为 **Repository name**（存储库名称）键入新存储库的名称（例如 `MyDemoCloud9Repo`）。如果您选择不同的名称，请在本示例中替换为该名称。

1. （可选）对于 **Description**（描述），请键入有关该存储库的信息。例如，您可以输入：`This is a demonstration repository for the AWS Cloud9 sample.`

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

向前跳到[步骤 3：将您的环境连接到远程存储库](#sample-codecommit-connect-repo)。

### 在中 CodeCommit 使用创建存储库 AWS CLI
<a name="sample-codecommit-create-repo-cli"></a>

运行 AWS CodeCommit `create-repository` 命令。指定存储库的名称、可选描述以及 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](https://docs.aws.amazon.com/general/latest/gr/rande.html#codecommit_region)。

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

## 步骤 3：将您的环境连接到远程存储库
<a name="sample-codecommit-connect-repo"></a>

在此步骤中，您将使用 AWS Cloud9 IDE 连接到您在上一步中创建或标识的 CodeCommit 存储库。

**注意**  
如果您更喜欢通过可视化界面使用 Git，可以克隆远程存储库。然后，您可以使用 IDE 中提供的 [Git 面板](source-control-gitpanel.md)功能添加文件。

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


****  

|  **环境类型**  |  **执行以下过程**  | 
| --- | --- | 
|  EC2 环境  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/sample-codecommit.html)  | 
|  SSH 环境  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/sample-codecommit.html)  | 

## 步骤 4：将远程存储库克隆到您的环境
<a name="sample-codecommit-clone-repo"></a>

在此步骤中，您将使用 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 控制台查看存储库详细信息](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-view-repository-details.html#how-to-view-repository-details-console)”。

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

## 步骤 5：向存储库添加文件
<a name="sample-codecommit-add-files"></a>

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

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

**在存储库中添加文件**

1. 创建新的文件。在菜单栏上，选择 **File（文件）**、**New File（新建文件）**。

1. 在文件中输入以下内容，然后选择 “**文件**，**保存**”，将文件另存为 AWS Cloud9 环境`bird.txt`中的`MyDemoCloud9Repo`目录中。

   ```
   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`。

1. 再创建两个名为 `insect.txt` 和 `reptile.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.
   ```

1. 在终端中，运行 **`cd`** 命令以切换到 `MyDemoCloud9Repo` 目录。

   ```
   cd MyDemoCloud9Repo
   ```

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

   ```
   Untracked files:
     (use "git add <file>..." to include in what will be committed)
   
           bird.txt
           insect.txt
           reptile.txt
   ```

1. 运行 **`git add`** 命令，以将这些文件添加到 Git 暂存区域中。

   ```
   git add --all
   ```

1. 再次运行 **`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
   ```

1. 运行 **`git commit`** 命令以提交暂存的文件。

   ```
   git commit -m "Added information about birds, insects, and reptiles."
   ```

1.  CodeCommit 通过运行**`git push`**命令将提交推送到您的远程存储库。

   ```
   git push -u origin master
   ```

1. 确认是否成功推送这些文件。如果 CodeCommit 控制台尚未打开，请在 [https://console.aws.amazon.com/codeco](https://console.aws.amazon.com/codecommit) mmit 处打开控制台。

1. 在靠近右边缘的顶部导航栏中，选择您创建存储库 AWS 区域 的位置（例如，**美国东部（俄亥俄州）**）。

1. 在**控制面板**页面上，选择 **MyDemoCloud9Repo**。将显示这三个文件。

要继续尝试 CodeCommit 存储库，请参阅《*AWS CodeCommit 用户指南*[》中的 “浏览存储库内容](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html#getting-started-cc-browse)”。

如果您是新手，Git并且不想搞乱 CodeCommit 存储库，请在 T [ry Git 网站上尝试](https://try.github.io/)使用示例Git存储库。

## 步骤 6：清除
<a name="sample-codecommit-clean-up"></a>

为防止在您使用完此示例 AWS 账户 后继续向您收费，请删除 CodeCommit 存储库。有关说明，请参阅《*AWS CodeCommit 用户指南》*中的 “[删除 AWS CodeCommit 存储库](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-delete-repository.html)”。

同时确保删除环境。有关说明，请参阅[删除环境](delete-environment.md)。