

 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 是一種來源碼控制服務，您可以用來在 AWS 雲端中以私密方式存放和管理 Git 儲存庫。如需 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 開發環境。**本範例假設您已具備 EC2 環境，且該環境已連線到執行 Amazon Linux 或 Ubuntu Server 的 Amazon 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 命令列界面 (AWS CLI)](#sample-codecommit-permissions-cli) 完成此步驟。

### 使用主控台設定具有必要存取許可的 IAM 群組
<a name="sample-codecommit-permissions-console"></a>

1. 如果您尚未登入 AWS 管理主控台，請登入 。

   針對此步驟，建議您在 AWS 帳戶使用管理員使用者的憑證來登入。如果您無法執行此操作，請洽詢您的 AWS 帳戶 管理員。

1. 開啟 IAM 主控台。方法如下：從主控台的導覽列選擇 **Services** (服務)，然後，選擇 **IAM**。

1. 選擇 **Groups (群組)**。

1. 選擇群組的名稱。

1. 在 **Permissions** (許可) 標籤上，針對 **Managed Policies** (受管政策)，選擇 **Attach Policy** (連接政策)。

1. 在政策名稱清單中，選取下列其中一個方塊：
   + 選取 **AWSCodeCommitPowerUser**，可存取 CodeCommit 的所有功能，以及儲存庫相關資源。不過，這不允許您刪除 CodeCommit 儲存庫，或建立或刪除其他資源中的儲存庫相關資源 AWS 服務，例如 Amazon CloudWatch Events。
   + 選取 **AWSCodeCommitFullAccess**，以完全控制 中的 CodeCommit 儲存庫和相關資源 AWS 帳戶。這包括刪除儲存庫的能力。

   如果您在清單中未看到上述任一政策名稱，請在 **Filter (篩選條件)** 方塊中輸入政策名稱來顯示它們。

1. 選擇 **Attach Policy (連接政策)**。

若要查看這些 AWS 受管政策提供給群組的存取許可清單，請參閱*AWS CodeCommit 《 使用者指南*》中的 [AWS 的 受管 （預先定義） 政策 AWS CodeCommit](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 Resource Name (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 儲存庫，或在 Amazon CloudWatch Events AWS 服務等其他 中建立或刪除儲存庫相關資源。
+  `arn:aws:iam::aws:policy/AWSCodeCommitFullAccess` 可完全控制 中的 CodeCommit 儲存庫和相關資源 AWS 帳戶。這包括刪除儲存庫的能力。

若要查看這些 AWS 受管政策提供給群組的存取許可清單，請參閱*AWS CodeCommit 《 使用者指南*》中的 [AWS 的 受管 （預先定義） 政策 AWS CodeCommit](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 命令列界面 (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/codecommit/](https://console.aws.amazon.com/codecommit) 開啟 CodeCommit 主控台。

1. 在主控台的導覽列中，使用區域選擇器來選擇您想要建立儲存庫的 AWS 區域 ，例如 **US East (Ohio)** (美國東部 (俄亥俄))。

1. 若顯示歡迎頁面，請選擇 **Get started** (開始使用)。否則，請選擇 **Create repository** (建立儲存庫)。

1. 在 **Create repository** (建立儲存庫) 頁面的 **Repository name** (儲存庫名稱) 中，輸入新儲存庫的名稱 (例如 `MyDemoCloud9Repo`)。如果您選擇其他名稱，請將它在此範例中皆予以取代。

1. (選用) 針對 **Description** (描述)，輸入關於儲存庫的描述。例如，您可以輸入：`This is a demonstration repository for the AWS Cloud9 sample.`

1. 選擇**建立儲存庫**。即會顯示 **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。如需支援的 區域清單，請參閱 [AWS CodeCommit](https://docs.aws.amazon.com/general/latest/gr/rande.html#codecommit_region) 中的 *Amazon Web Services 一般參考*。

如果您選擇使用其他儲存庫名稱，請將它在此範例中皆予以取代。

## 步驟 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_tw/cloud9/latest/user-guide/sample-codecommit.html)  | 
|  SSH 環境  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/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. 執行 **`git push`** 命令以將遞交推送至 CodeCommit 中的遠端儲存庫。

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

1. 確認是否已成功推送檔案。開啟 CodeCommit 主控台 (若尚未開啟)，網址為 [https://console.aws.amazon.com/codecommit](https://console.aws.amazon.com/codecommit)。

1. 在頂端導覽列的右側邊緣附近，選擇您建立儲存庫 AWS 區域 的 （例如，**美國東部 （俄亥俄）)**。

1. 在 **Dashboard** (儀表板) 頁面上，選擇 **MyDemoCloud9Repo**。即會顯示三個檔案。

若要繼續實驗 CodeCommit 儲存庫，請參閱 *AWS CodeCommit 使用者指南*中的[瀏覽儲存庫內容](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html#getting-started-cc-browse)。

如果您是初次使用 Git 且不想弄亂您的 CodeCommit 儲存庫，則可在 [Try 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)。