

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Bitbucket 雲端連線
<a name="connections-bitbucket"></a>

連線可讓您授權和建立將第三方供應商與 AWS 資源建立關聯的組態。若要將第三方儲存庫關聯為管道的來源，請使用 連線。

**注意**  
您可以使用另一個 之間的共用連線，而不是在帳戶中建立或使用現有的連線 AWS 帳戶。請參閱 [使用與其他 帳戶共用的連線](connections-shared.md)。

**注意**  
此功能不適用於亞太區域 （香港）、亞太區域 （海德拉巴）、亞太區域 （雅加達）、亞太區域 （墨爾本）、亞太區域 （大阪）、非洲 （開普敦）、中東 （巴林）、中東 （阿拉伯聯合大公國）、歐洲 （西班牙）、歐洲 （蘇黎世）、以色列 （特拉維夫） 或 AWS GovCloud （美國西部） 區域。若要參考其他可用的動作，請參閱 [與 CodePipeline 的產品和服務整合](integrations.md)。如需歐洲 （米蘭） 區域中此動作的考量，請參閱 中的備註[適用於 Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com, 和 GitLab 自我管理動作的 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md)。

若要在 CodePipeline 中新增 Bitbucket Cloud 來源動作，您可以選擇：
+ 使用 CodePipeline 主控台**建立管道**精靈或**編輯動作**頁面，選擇 **Bitbucket** 提供者選項。請參閱 [建立 Bitbucket Cloud 的連線 （主控台）](#connections-bitbucket-console) 以新增 動作。主控台可協助您建立連線資源。
**注意**  
您可以建立連至 Bitbucket Cloud 儲存庫的連線。不支援安裝式 Bitbucket 供應商類型，例如 Bitbucket 伺服器。
+ 使用 CLI 向`Bitbucket`提供者新增`CreateSourceConnection`動作的動作組態，如下所示：
  + 若要建立連線資源，請參閱[建立 Bitbucket Cloud (CLI) 的連線](#connections-bitbucket-cli)使用 CLI 建立連線資源。
  + 使用 中`CreateSourceConnection`的範例動作組態[適用於 Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com, 和 GitLab 自我管理動作的 CodeStarSourceConnection](action-reference-CodestarConnectionSource.md)來新增動作，如 所示[建立管道 (CLI)](pipelines-create.md#pipelines-create-cli)。

**注意**  
您也可以使用**設定**下的開發人員工具主控台建立連線。請參閱[建立連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)。

開始之前：
+ 您必須已透過第三方儲存庫的提供者建立 帳戶，例如 Bitbucket Cloud。
+ 您必須已建立第三方程式碼儲存庫，例如 Bitbucket 雲端儲存庫。

**注意**  
Bitbucket Cloud 連線僅提供 Bitbucket Cloud 帳戶所擁有之儲存庫的存取權，該儲存庫用於建立連線。  
如果應用程式安裝在 Bitbucket 雲端工作區中，您需要**管理工作區**許可。否則，安裝該應用程式的選項將不會顯示。

**Topics**
+ [建立 Bitbucket Cloud 的連線 （主控台）](#connections-bitbucket-console)
+ [建立 Bitbucket Cloud (CLI) 的連線](#connections-bitbucket-cli)

## 建立 Bitbucket Cloud 的連線 （主控台）
<a name="connections-bitbucket-console"></a>

使用這些步驟來使用 CodePipeline 主控台為您的 Bitbucket 儲存庫新增連線動作。

**注意**  
您可以建立連至 Bitbucket Cloud 儲存庫的連線。不支援安裝式 Bitbucket 供應商類型，例如 Bitbucket 伺服器。

### 步驟 1：建立或編輯管道
<a name="connections-bitbucket-console-action"></a>

**建立或編輯管道**

1. 登入 CodePipeline 主控台。

1. 選擇下列其中一項。
   + 選擇 以建立管道。依照*建立管道*中的步驟完成第一個畫面，然後選擇**下一步**。在**來源**頁面的**來源提供者**下，選擇 **Bitbucket**。
   + 選擇 編輯現有的管道。選擇**編輯**，然後選擇**編輯階段**。選擇 以新增或編輯來源動作。在**編輯動作**頁面**的動作名稱**下，輸入動作的名稱。在**動作提供者**中，選擇 **Bitbucket**。

1. 執行以下任意一項：
   + 在**連線**下，如果您尚未建立與提供者的連線，請選擇**連線至 Bitbucket**。繼續步驟 2：建立 Bitbucket 的連線。
   + 在**連線**下，如果您已建立與供應商的連線，請選擇連線。繼續步驟 3：儲存連線的來源動作。

### 步驟 2：建立與 Bitbucket Cloud 的連線
<a name="connections-bitbucket-console-create"></a>

**建立 Bitbucket Cloud 的連線**

1. 在**連線至 Bitbucket** 設定頁面上，輸入您的連線名稱，然後選擇**連線至 Bitbucket**。  
![主控台螢幕擷取畫面，顯示連線至 Bitbucket 按鈕。](http://docs.aws.amazon.com/zh_tw/codepipeline/latest/userguide/images/create-connection-bitbucket.png)

   隨即出現 **Bitbucket 應用程式**欄位。

1. 在 **Bitbucket apps (Bitbucket 應用程式)** 底下，選擇應用程式安裝，或選擇 **Install a new app (安裝新應用程式)** 以建立安裝。
**注意**  
您只為每個 Bitbucket Cloud 工作區或帳戶安裝應用程式一次。如果您已安裝 Bitbucket 應用程式，請選擇它並移至步驟 4。  
![顯示 Connect to Bitbucket Cloud (連線至 Bitbucket Cloud) 對話方塊，並包含安裝新應用程式按鈕的主控台螢幕擷取畫面。](http://docs.aws.amazon.com/zh_tw/codepipeline/latest/userguide/images/newreview-source-wizard-bitbucket.png)

1. 如果顯示 Bitbucket Cloud 的登入頁面，請使用您的登入資料登入，然後選擇繼續。

1. 在應用程式安裝頁面上，訊息顯示 AWS CodeStar 應用程式正在嘗試連線到您的 Bitbucket 帳戶。

   若您使用的是 Bitbucket 工作區，請將 **Authorize for** (授權) 選項變更為工作區。僅會顯示您具有管理員存取權的工作區。

   選擇 **Grant access (授與存取權)**。

1. 在 **Bitbucket apps (Bitbucket 應用程式)** 中，會顯示新安裝的連線 ID。選擇 **Connect (連線)**。建立的連線會顯示在連線清單中。  
![主控台螢幕擷取畫面，顯示存取請求。](http://docs.aws.amazon.com/zh_tw/codepipeline/latest/userguide/images/create-connection-bitbucket-app-ID.png)

### 步驟 3：儲存您的 Bitbucket 雲端來源動作
<a name="connections-bitbucket-console-save"></a>

在精靈或**編輯動作**頁面上使用這些步驟，將來源動作與連線資訊一起儲存。

**使用連線完成並儲存來源動作**

1. 在 **Repository name (儲存庫名稱)** 中，選擇第三方儲存庫的名稱。

1. 如果您的動作是 CodeConnections 動作，您可以在**管道觸發**下新增觸發。若要設定管道觸發組態並選擇性地使用觸發來篩選，請參閱 中的更多詳細資訊[使用程式碼推送或提取請求事件類型新增觸發](pipelines-filter.md)。

1. 在 **Output artifact format (輸出成品格式)** 中，您必須選擇成品的格式。
   + 若要使用預設方法儲存來自 Bitbucket Cloud 動作的輸出成品，請選擇 **CodePipeline 預設**。動作會從 Bitbucket 雲端儲存庫存取檔案，並將成品存放在管道成品存放區中的 ZIP 檔案中。
   + 若要存放包含儲存庫 URL 參考的 JSON 檔案，以便下游動作可以直接執行 Git 命令，請選擇 **Full clone (完整複製)**。此選項只能由 CodeBuild 下游動作使用。

     如果您選擇此選項，您將需要更新 CodeBuild 專案服務角色的許可，如 所示[新增連線至 Bitbucket、GitHub、GitHub Enterprise Server 或 GitLab.com 的 CodeBuild GitClone 許可 GitLab.com](troubleshooting.md#codebuild-role-connections)。

1. 在精靈上選擇**下一步**，或在**編輯動作**頁面上選擇**儲存**。

## 建立 Bitbucket Cloud (CLI) 的連線
<a name="connections-bitbucket-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 來建立連線。

**注意**  
您可以建立連至 Bitbucket Cloud 儲存庫的連線。不支援安裝式 Bitbucket 供應商類型，例如 Bitbucket 伺服器。

若要這麼做，請使用 **create-connection** 命令。

**重要**  
根據預設，透過 AWS CLI 或 建立的連線 AWS CloudFormation 處於 `PENDING` 狀態。建立與 CLI 或 的連線後 CloudFormation，請使用 主控台來編輯連線，使其成為狀態 `AVAILABLE`。

**建立連線**

1. 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 **create-connection**命令，`--connection-name`為您的連線指定 `--provider-type`和 。在此範例中，第三方供應商名稱為 `Bitbucket`，而指定的連線名稱為 `MyConnection`。

   ```
   aws codestar-connections create-connection --provider-type Bitbucket --connection-name MyConnection
   ```

   如果成功，此命令會傳回類似下列內容的連線 ARN 資訊。

   ```
   {
       "ConnectionArn": "arn:aws:codestar-connections:us-west-2:{{account_id}}:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f"
   }
   ```

1. 使用主控台完成連線。如需詳細資訊，請參閱[更新待定連線](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html)。

1. 管道預設為在程式碼推送至連線來源儲存庫時偵測變更。若要設定手動發行或 Git 標籤的管道觸發組態，請執行下列其中一項操作：
   + 若要將管道觸發組態設定為僅從手動版本開始，請將以下行新增至組態：

     ```
     "DetectChanges": "false",
     ```
   + 若要設定管道觸發組態以使用觸發條件進行篩選，請參閱 中的更多詳細資訊[使用程式碼推送或提取請求事件類型新增觸發](pipelines-filter.md)。例如，以下內容會將 Git 標籤新增至管道 JSON 定義的管道層級。在此範例中， `release-v0`和 `release-v1`是要包含的 Git 標籤， `release-v2`是要排除的 Git 標籤。

     ```
     "triggers": [
                 {
                     "providerType": "CodeStarSourceConnection",
                     "gitConfiguration": {
                         "sourceActionName": "Source",
                         "push": [
                             {
                                 "tags": {
                                     "includes": [
                                         "release-v0", "release-v1"
                                     ],
                                     "excludes": [
                                         "release-v2"
                                     ]
                                 }
                             }
                         ]
                     }
                 }
             ]
     ```