

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

# 與合作夥伴產品和服務整合
<a name="integrations-partners"></a>

CodeDeploy 具有下列合作夥伴產品和服務的內建整合：


|  |  | 
| --- |--- |
| Ansible |  如果您已經有一組 [Ansible](http://www.ansible.com) 手冊，但只需要在某個位置執行，Ansible 和 CodeDeploy 的 範本會示範幾個簡單的部署掛鉤如何確保 Ansible 可在本機部署執行個體上使用，並執行手冊。如果您已有建置和維護庫存的程序，也有 Ansible 模組可用來安裝和執行 CodeDeploy 代理程式。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Atlassian – Bamboo 和 Bitbucket |  [Bamboo](https://www.atlassian.com/software/bamboo/) 的 CodeDeploy 任務會將包含 AppSpec 檔案的目錄壓縮為 .zip 檔案、將檔案上傳至 Amazon S3，然後根據 CodeDeploy 應用程式中提供的組態啟動部署。 對 CodeDeploy 的 Atlassian Bitbucket 支援可讓您隨需直接從 Bitbucket UI 將程式碼推送至 Amazon EC2 執行個體。這表示更新 Bitbucket 儲存庫中的程式碼之後，您不需要登入您的持續整合 (CI) 平台或 Amazon EC2 執行個體，即可執行手動部署程序。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Chef |  AWS 提供兩個範本範例，用於整合 [Chef](https://www.chef.io/) 和 CodeDeploy。第一個是安裝和啟動 CodeDeploy 代理程式的 Chef 技術指南。這可讓您在使用 CodeDeploy 時繼續使用 Chef 管理主機基礎設施。第二個範例範本示範如何使用 CodeDeploy，在每個節點上使用 chef-solo 協調技術指南和配方的執行。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| CircleCI |  [CircleCI](https://circleci.com/) 提供自動化測試和持續整合及部署工具集。在 中建立 IAM 角色 AWS 以搭配 CircleCI 使用，並在 circle.yml 檔案中設定部署參數後，您可以使用 CircleCI 搭配 CodeDeploy 來建立應用程式修訂、將其上傳至 Amazon S3 儲存貯體，然後啟動和監控您的部署。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| CloudBees |  您可以使用 [CloudBees](https://www.cloudbees.com/) DEV@cloud 上提供的 CodeDeploy Jenkins 外掛程式做為建置後動作。例如，在持續交付管道結尾，您可以使用它來部署應用程式修訂版到您的伺服器機群。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Codeship |  您可以使用 [Codeship](https://codeship.com/) 透過 CodeDeploy 部署應用程式修訂版。您可以使用 Codeship UI 將 CodeDeploy 新增至分支的部署管道。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| GitHub |  您可以使用 CodeDeploy 從 [GitHub](http://www.github.com) 儲存庫部署應用程式修訂版。您也可以在該儲存庫中的原始碼變更時，從 GitHub 儲存庫觸發部署。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **HashiCorp Consul**  |  您可以使用開放原始碼 HashiCorp Consul 工具，協助確保您在 CodeDeploy 中部署應用程式時應用程式環境的運作狀態和穩定性。您可以使用 Consul 註冊應用程式，以便在部署時被發現，將應用程式和節點置於維護模式，將它們從部署解除，如果目標執行個體運作狀態不佳時，即可停止部署。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Jenkins |  CodeDeploy [Jenkins](http://jenkins-ci.org/) 外掛程式為您的 Jenkins 專案提供建置後步驟。成功建置後，它會壓縮工作區、上傳至 Amazon S3，並啟動新的部署。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Puppet Labs |  AWS 提供 [Puppet](https://puppetlabs.com/) 和 CodeDeploy 的範例範本。第一個是安裝和啟動 CodeDeploy 代理程式的 Puppet 模組。這可讓您在使用 CodeDeploy 時繼續使用 Puppet 來管理主機基礎設施。第二個範例範本示範如何使用 CodeDeploy 協調模組和資訊清單的執行，以及每個節點上的無主控程式。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| SaltStack |  您可以將 [SaltStack](https://saltproject.io/index.html) 基礎設施與 CodeDeploy 整合。您可以使用 CodeDeploy 模組在小兵上安裝和執行 CodeDeploy 代理程式，或使用幾個簡單的部署勾點，使用 CodeDeploy 協調 Salt 狀態的執行。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **TeamCity**  |  您可以使用 CodeDeploy Runner 外掛程式直接從 TeamCity 部署應用程式。外掛程式會新增 TeamCity 建置步驟，以準備和上傳應用程式修訂版至 Amazon S3 儲存貯體、在 CodeDeploy 應用程式中註冊修訂版、建立 CodeDeploy 部署，以及等待部署完成。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 
| Travis CI |  您可以設定 [Travis CI](https://travis-ci.com/)，在成功建置後觸發 CodeDeploy 中的部署。 進一步了解： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [GitHub](integrations-partners-github.md)

# 將 CodeDeploy 與 GitHub 整合
<a name="integrations-partners-github"></a>

CodeDeploy 支援 [GitHub](https://github.com/about)，這是一種以 Web 為基礎的程式碼託管和共用服務。CodeDeploy 可以將存放在 GitHub 儲存庫或 Amazon S3 儲存貯體中的應用程式修訂版部署到執行個體。CodeDeploy 僅支援 GitHub for EC2/內部部署部署。

**Topics**
+ [從 GitHub 部署 CodeDeploy 修訂版](#github-deployment-steps)
+ [使用 CodeDeploy 的 GitHub 行為](#github-behaviors)

## 從 GitHub 部署 CodeDeploy 修訂版
<a name="github-deployment-steps"></a>

從 GitHub 儲存庫部署應用程式修訂版到執行個體：

1. 建立與 CodeDeploy 和您要部署的 Amazon EC2 執行個體類型相容的修訂版。

   若要建立相容的修訂版，請遵循 [規劃 CodeDeploy 的修訂](application-revisions-plan.md) 和 [將應用程式規格檔案新增至 CodeDeploy 的修訂版](application-revisions-appspec-file.md) 之中的說明。

1. 使用 GitHub 帳戶新增您的修訂版到 GitHub 儲存庫。

   若要建立 GitHub 帳戶，請參閱[​加入GitHub](https://github.com/join)。若要建立 GitHub 儲存庫，請參閱[建立儲存庫](https://help.github.com/articles/create-a-repo/)。

1. 使用 CodeDeploy 主控台中的**建立部署**頁面或 AWS CLI **create-deployment** 命令，將您的修訂從 GitHub 儲存庫部署到設定用於 CodeDeploy 部署的目標執行個體。

   如果您想要呼叫 **create-deployment**命令，您必須先使用主控台的**建立部署**頁面，授予 CodeDeploy 許可，以代表您偏好的 GitHub 帳戶與指定應用程式與 GitHub 互動。每個應用程式都只需要執行此步驟一次。

   若需了解如何使用**建立部署**頁面以從 GitHub 儲存庫進行部署，請參閱[使用 CodeDeploy 建立部署](deployments-create.md)：

   如需了解如何呼叫 **create-deployment** 命令從 GitHub 儲存庫進行部署，請參閱 [建立 EC2/現場部署運算平台部署 (CLI)](deployments-create-cli.md)。

   若要了解如何準備執行個體以用於 CodeDeploy 部署，請參閱 [使用 CodeDeploy 的執行個體](instances.md)。

如需詳細資訊，請參閱[教學課程：使用 CodeDeploy 從 GitHub 部署應用程式](tutorials-github.md)。

## 使用 CodeDeploy 的 GitHub 行為
<a name="github-behaviors"></a>

**Topics**
+ [在 CodeDeploy 中使用應用程式進行 GitHub 身分驗證](#behaviors-authentication)
+ [CodeDeploy 與私有和公有 GitHub 儲存庫的互動](#behaviors-interactions-private-and-public)
+ [CodeDeploy 與組織受管 GitHub 儲存庫的互動](#behaviors-interactions-organization-managed)
+ [使用 CodeDeploy 從 CodePipeline 自動部署 CodeDeploy](#behaviors-deploy-automatically)

### 在 CodeDeploy 中使用應用程式進行 GitHub 身分驗證
<a name="behaviors-authentication"></a>

在您授予 CodeDeploy 與 GitHub 互動的許可後，該 GitHub 帳戶和應用程式之間的關聯會儲存在 CodeDeploy 中。您可以將應用程式和不一樣的 GitHub 帳戶連結。您也可以撤銷 CodeDeploy 與 GitHub 互動的許可。

**將 GitHub 帳戶連結至 CodeDeploy 中的應用程式**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) 開啟 CodeDeploy 主控台。
**注意**  
使用您在 中設定的相同使用者登入[CodeDeploy 入門](getting-started-codedeploy.md)。

1. 在導覽窗格中，展開**部署**，然後選擇**應用程式**。

1. 選擇要連結到不同 GitHub 帳戶的應用程式。

1. 如果您的應用程式沒有部署群組，請選擇**建立部署群組**來建立一個。如需詳細資訊，請參閱[使用 CodeDeploy 建立部署群組](deployment-groups-create.md)。部署群組需在後續步驟選擇 **Create deployment (建立部署)**。

1.  從 **Deployments (部署)** 選擇 **Create deployment (建立部署)**。
**注意**  
您不必建立新的部署。目前，這是將不同 GitHub 帳戶連結至應用程式的唯一方法。

1.  在 **Deployment settings (部署設定)**，對 **Revision type (修訂版類型)**，選擇 **My application is stored in GitHub (我的應用程式存放在 GitHub)**。

1. 執行以下任意一項：
   + 若要為 AWS CodeDeploy 應用程式建立 GitHub 帳戶的連線，請在單獨的 Web 瀏覽器索引標籤中登出 GitHub。在 **GitHub token name (GitHub 符記名稱)** 中，輸入名稱來識別此連線，然後選擇 **Connect to GitHub (連線至 GitHub)**。網頁會提示您授權 CodeDeploy 為您的應用程式與 GitHub 互動。繼續步驟 10。
   + 若要使用您已建立的連線，請在 **GitHub token name (GitHub 符記名稱)** 中選取其名稱，然後選擇 **Connect to GitHub (連線至 GitHub)**。繼續步驟 8。
   + 若要建立連結到一個不一樣的 GitHub 帳戶，請在網路瀏覽器分頁中登出 GitHub。在 **GitHub token name (GitHub 符記名稱)** 中，輸入名稱來識別連線，然後選擇 **Connect to GitHub (連線至 GitHub)**。網頁會提示您授權 CodeDeploy 為您的應用程式與 GitHub 互動。繼續步驟 10。

1. 如果您尚未登入 GitHub，請依照 **Sign in (登入)** 頁面指示使用 GitHub 帳戶登入到您想連結的應用程式中。

1. 選擇 **Authorize application (授權應用程式)**。GitHub 授予 CodeDeploy 許可，以代表所選應用程式的登入 GitHub 帳戶與 GitHub 互動。

1. 如果您不想要建立部署，請選擇 **Cancel (取消)**。

**撤銷 CodeDeploy 與 GitHub 互動的許可**

1. 使用您要撤銷 AWS CodeDeploy 許可之 [GitHub ](https://github.com/dashboard) 帳戶的登入資料登入 GitHub。

1. 開啟 GitHub [應用程式](https://github.com/settings/applications)頁面，在授權應用程式清單中尋找 **CodeDeploy**，然後遵循 GitHub 程序撤銷應用程式的授權。

### CodeDeploy 與私有和公有 GitHub 儲存庫的互動
<a name="behaviors-interactions-private-and-public"></a>

CodeDeploy 支援從私有和公有 GitHub 儲存庫部署應用程式。當您授予 CodeDeploy 代表您存取 GitHub 的許可時，CodeDeploy 將具有 GitHub 帳戶可存取的所有私有 GitHub 儲存庫的讀寫存取權。不過，CodeDeploy 只會從 GitHub 儲存庫讀取。並不會寫入您的任何私人 GitHub 儲存庫。

### CodeDeploy 與組織受管 GitHub 儲存庫的互動
<a name="behaviors-interactions-organization-managed"></a>

根據預設，由組織管理的 GitHub 儲存庫 （而不是您帳戶的私有或公有儲存庫） 不會授予第三方應用程式的存取權，包括 CodeDeploy。如果機構組織的第三方應用程式限制在 GitHub 中啟用，且您嘗試從它的 GitHub 儲存庫部署代碼，則您的部署將失敗。您有兩個方式可以解決這個問題：
+ 身為組織成員，您可以要求組織擁有者核准 CodeDeploy 的存取權。請求此存取權的步驟取決於您是否已為個別帳戶授權 CodeDeploy：
  + 如果您有權存取帳戶中的 CodeDeploy，請參閱[為您的授權應用程式請求組織核准](https://help.github.com/articles/requesting-organization-approval-for-your-authorized-applications/)。
  + 如果您尚未授權存取您帳戶中的 CodeDeploy，請參閱[請求第三方應用程式的組織核准](https://help.github.com/articles/requesting-organization-approval-for-third-party-applications/)。
+ 機構組織擁有者可以停用所有第三方應用程式的限制。如需詳細資訊，請參閱[為您的組織停用第三方應用程式限制](https://help.github.com/articles/disabling-third-party-application-restrictions-for-your-organization/)。

如需詳細資訊，請參閱[關於第三方應用程式限制](https://help.github.com/articles/about-third-party-application-restrictions/)。

### 使用 CodeDeploy 從 CodePipeline 自動部署 CodeDeploy
<a name="behaviors-deploy-automatically"></a>

您可以在原始程式碼變更時，從 CodePipeline 觸發部署。如需詳細資訊，請參閱 [CodePipeline](https://aws.amazon.com/codepipeline/)。