與 CodePipeline 動作類型的整合 - AWS CodePipeline

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

與 CodePipeline 動作類型的整合

本主題中的整合資訊會依 CodePipeline 動作類型組織。

來源動作整合

下列資訊依 CodePipeline 動作類型整理,可協助您設定 CodePipeline 與下列來源動作提供者整合。

Amazon ECR來源動作

Amazon ECR 是 AWS Docker 映像儲存庫服務。您可以使用 Docker push 和 pull 命令,將 Docker 影像上傳至您的儲存庫。Amazon ECR儲存庫URI和映像用於 Amazon ECS任務定義,以參考來源映像資訊。

進一步了解:

Amazon S3 來源動作

Amazon S3 是網際網路的儲存體。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。您可以設定 CodePipeline 使用版本化 Amazon S3 儲存貯體作為程式碼的來源動作。

注意

Amazon S3 也可以作為部署動作包含在管道中。

進一步了解:

連線至 Bitbucket Cloud、 GitHub (第 2 版)、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理

連線 (CodeStarSourceConnection 動作) 用於存取您的第三方 Bitbucket Cloud、 GitHub GitHub Enterprise Server、 GitLab.com 或 GitLab自我管理儲存庫。

注意

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

Bitbucket Cloud

您可以設定 CodePipeline 使用 Bitbucket Cloud 儲存庫作為程式碼的來源。您必須先前已建立 Bitbucket 帳戶和至少一個 Bitbucket Cloud 儲存庫。您可以建立管道或編輯現有管道,為 Bitbucket Cloud 儲存庫新增來源動作。

注意

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

您可以設定稱為連線的資源,以允許管道存取第三方程式碼儲存庫。建立連線時,您會將連接器應用程式安裝至第三方程式碼儲存庫,然後將其與您的連線建立關聯。

對於 Bitbucket Cloud,請使用主控台中的 Bitbucket 選項或 中的CodestarSourceConnection動作CLI。請參閱 Bitbucket Cloud 連線

您可以使用此動作的完整複製選項來參考儲存庫 Git 中繼資料,以便下游動作可以直接執行 Git 命令。此選項只能由 CodeBuild 下游動作使用。

進一步了解:

GitHub 或 GitHub 企業雲端

您可以設定 CodePipeline 使用 GitHub 儲存庫作為程式碼的來源。您必須先前已建立 GitHub 帳戶和至少一個 GitHub儲存庫。您可以建立管道或編輯現有管道,為 GitHub 儲存庫新增來源動作。

您可以設定稱為連線的資源,以允許管道存取第三方程式碼儲存庫。建立連線時,您會將連接器應用程式安裝至第三方程式碼儲存庫,然後將其與您的連線建立關聯。

使用主控台中的 GitHub (第 2 版) 提供者選項,或 中的CodestarSourceConnection動作CLI。請參閱 GitHub 連線

您可以使用此動作的完整複製選項來參考儲存庫 Git 中繼資料,以便下游動作可以直接執行 Git 命令。此選項只能由 CodeBuild 下游動作使用。

進一步了解:

GitHub 企業伺服器

您可以設定 CodePipeline 使用 GitHub Enterprise Server 儲存庫作為程式碼的來源。您必須先前已建立 GitHub 帳戶,且至少有一個 GitHub 儲存庫。您可以建立管道或編輯現有的管道,為 GitHub Enterprise Server 儲存庫新增來源動作。

您可以設定稱為連線的資源,以允許管道存取第三方程式碼儲存庫。建立連線時,您會將連接器應用程式安裝至第三方程式碼儲存庫,然後將其與您的連線建立關聯。

使用主控台中的 GitHub Enterprise Server 提供者選項,或 中的CodestarSourceConnection動作CLI。請參閱 GitHub 企業伺服器連線

您可以使用此動作的完整複製選項來參考儲存庫 Git 中繼資料,以便下游動作可以直接執行 Git 命令。此選項只能由 CodeBuild 下游動作使用。

進一步了解:

GitLab.com

您可以設定 CodePipeline 使用 GitLab.com 儲存庫作為程式碼的來源。您必須先前已建立 GitLab.com 帳戶和至少一個 GitLab.com 儲存庫。您可以建立管道或編輯現有的管道,為 GitLab.com 儲存庫新增來源動作。

在 主控台中使用GitLab提供者選項,或在 中使用GitLab提供者CodestarSourceConnection動作CLI。請參閱 GitLab.com 連線

進一步了解:

GitLab 自我管理

您可以設定 CodePipeline 以使用 GitLab 自我管理安裝作為程式碼的來源。您必須先前已建立 GitLab 帳戶,並擁有自我管理的訂閱 GitLab (Enterprise Edition 或 Community Edition)。您可以建立管道或編輯現有儲存庫,為 GitLab 自我管理的儲存庫新增來源動作。

您可以設定稱為連線的資源,以允許管道存取第三方程式碼儲存庫。建立連線時,您會將連接器應用程式安裝至第三方程式碼儲存庫,然後將其與您的連線建立關聯。

使用主控台中的GitLab 自我管理提供者選項或 中的CodestarSourceConnection動作CLI。請參閱 GitLab 自我管理的連線

您可以使用此動作的完整複製選項來參考儲存庫 Git 中繼資料,以便下游動作可以直接執行 Git 命令。此選項只能由 CodeBuild 下游動作使用。

進一步了解:

CodeCommit 來源動作

CodeCommit 是版本控制服務,可用來在雲端中私有儲存和管理資產 (例如文件、原始程式碼和二進位檔案)。您可以設定 CodePipeline 以使用 CodeCommit 儲存庫中的分支作為程式碼的來源。建立儲存庫並將其與本機上的工作目錄相關聯。然後,您可以建立一個管道,使用分支做為階段中來源動作的一部分。您可以透過建立管道或編輯現有管道來連線至 CodeCommit 儲存庫。

您可以使用此動作的完整複製選項來參考儲存庫 Git 中繼資料,以便下游動作可以直接執行 Git 命令。此選項只能由 CodeBuild 下游動作使用。

進一步了解:

GitHub (第 1 版) 來源動作

第 1 GitHub 版動作是使用OAuth應用程式管理。在可用區域中,您也可以在管道中使用CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作來源動作,透過 GitHub 應用程式管理 GitHub 來源動作。如果您有管道使用 GitHub 版本 1 動作,請參閱在 中更新管道以使用 GitHub 版本 2 動作的步驟將 GitHub 版本 1 來源動作更新為 GitHub 版本 2 來源動作

注意

雖然我們不建議使用第 1 GitHub 版動作,但具有第 1 GitHub 版動作的現有管道將繼續運作,而不會有任何影響。

進一步了解:

建置動作整合

下列資訊依 CodePipeline 動作類型整理,可協助您設定 CodePipeline 與下列建置動作提供者整合。

CodeBuild 建置動作

CodeBuild 是一種完全受管建置服務,可編譯原始程式碼、執行單位測試,並產生準備好部署的成品。

您可以將 CodeBuild 作為建置動作新增至管道的建置階段。如需詳細資訊,請參閱 CodePipeline 的動作組態參考AWS CodeBuild 建置和測試動作參考

注意

CodeBuild 也可以作為測試動作包含在管道中,無論是否具有建置輸出。

進一步了解:

CloudBees 建置動作

您可以設定 CodePipeline 使用 CloudBees 在管道中的一或多個動作中建置或測試程式碼。

進一步了解:

Jenkins 建置動作

您可以設定 CodePipeline 使用 Jenkins CI,在管道中的一或多個動作中建置或測試程式碼。您必須先前已建立 Jenkins 專案,並安裝和設定該專案的 CodePipeline Plugin for Jenkins。您可以建立新的管道或編輯現有的管道,以連線至 Jenkins 專案。

Jenkins 的存取權是根據每個專案進行設定。您必須在每個要與 搭配使用的 Jenkins 執行個體上安裝 CodePipeline Plugin for Jenkins CodePipeline。您也必須設定 Jenkins 專案的 CodePipeline 存取權。將 Jenkins 專案設定為僅接受 HTTPS/SSL 連線,藉此保護您的專案。如果您的 Jenkins 專案安裝在 Amazon EC2執行個體上,請考慮在每個執行個體 AWS CLI 上安裝 ,以提供您的 AWS 憑證。然後,使用您要用於連線的憑證在這些執行個體上設定 AWS 設定檔。這是透過 Jenkins Web 界面新增和儲存它們的替代方案。

進一步了解:

TeamCity 建置動作

您可以設定 CodePipeline 使用 TeamCity 在管道中的一或多個動作中建置和測試程式碼。

進一步了解:

測試動作整合

下列資訊依 CodePipeline 動作類型整理,可協助您設定 CodePipeline 與下列測試動作提供者整合。

CodeBuild 測試動作

CodeBuild 是 Cloud. CodeBuild compiles 中的全受管建置服務,可編譯原始程式碼、執行單位測試,並產生準備好部署的成品。

您可以將 CodeBuild 新增至管道作為測試動作。如需詳細資訊,請參閱 CodePipeline 的動作組態參考AWS CodeBuild 建置和測試動作參考

注意

CodeBuild 也可以作為建置動作包含在管道中,並具有強制性建置輸出成品。

進一步了解:

AWS Device Farm 測試動作

AWS Device Farm 是一種應用程式測試服務,可用於在實際實體手機和平板電腦上測試 Android、iOS 和 Web 應用程式,並與之互動。您可以設定 CodePipeline 使用 AWS Device Farm 在管道的一或多個動作中測試程式碼。 AWS Device Farm 可讓您上傳自己的測試,或使用內建、不含指令碼的相容性測試。由於系統會平行執行測試,所以會在幾分鐘內開始多個裝置上的測試。包含高階結果、低階日誌 pixel-to-pixel、螢幕擷取畫面和效能資料的測試報告會在測試完成時更新。 AWS Device Farm 支援原生和混合 Android、iOS 和 Fire OS 應用程式的測試,包括使用 PhoneGap、Titanium、Xamarin、Unity 和其他架構建立的應用程式。它支援遠端存取 Android 應用程式,可讓您直接與測試裝置互動。

進一步了解:

Ghost Inspector 測試動作

您可以設定 CodePipeline 使用 Ghost Inspector,在管道中的一或多個動作中測試程式碼。

進一步了解:

OpenText LoadRunner 雲端測試動作

您可以將 CodePipeline 設定為在管道中的一或多個動作中使用 OpenText LoadRunner Cloud

進一步了解:

部署動作整合

下列資訊依 CodePipeline 動作類型整理,可協助您設定 CodePipeline 與下列部署動作提供者整合。

Amazon S3 部署動作

Amazon S3 是網際網路的儲存體。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。您可以將動作新增至使用 Amazon S3 作為部署提供者的管道。

注意

Amazon S3 也可以作為來源動作包含在管道中。

進一步了解:

AWS AppConfig 部署動作

AWS AppConfig 是 AWS Systems Manager 建立、管理和快速部署應用程式組態的功能。您可以 AppConfig 搭配託管在EC2執行個體、 AWS Lambda容器、行動應用程式或 IoT 裝置上的應用程式使用 。

進一步了解:

AWS CloudFormation 部署動作

AWS CloudFormation 讓開發人員和系統管理員可以輕鬆建立和管理相關 AWS 資源的集合,並使用範本佈建和更新這些資源。您可以使用此服務的範例範本或建立自己的範本。範本描述 AWS 資源,以及執行應用程式所需的任何相依性或執行期參數。

AWS Serverless Application Model (AWS SAM) 擴展 AWS CloudFormation 為提供定義和部署無伺服器應用程式的簡化方法。 AWS SAM 支援 Amazon API Gateway APIs、 AWS Lambda 函數和 Amazon DynamoDB 資料表。您可以使用 CodePipeline AWS CloudFormation 和 AWS SAM來持續交付無伺服器應用程式。

您可以將動作新增至 AWS CloudFormation 用作部署提供者的管道。當您使用 AWS CloudFormation 作為部署提供者時,您可以對 AWS CloudFormation 堆疊和變更集採取動作,作為管道執行的一部分。 AWS CloudFormation 可以在管道執行時建立、更新、取代和刪除堆疊和變更集。因此,您可以在管道執行期間,根據您在 AWS CloudFormation 範本 AWS 和參數定義中提供的規格建立、佈建、更新或終止自訂資源。

進一步了解:

AWS CloudFormation StackSets 部署動作

AWS CloudFormation 可讓您跨多個帳戶和 AWS 區域部署資源。

您可以使用 CodePipeline 搭配 AWS CloudFormation 來更新堆疊集定義,並將更新部署至執行個體。

您可以將下列動作新增至管道,以 AWS CloudFormation StackSets 用作部署提供者。

  • CloudFormationStackSet

  • CloudFormationStackInstances

進一步了解:

Amazon ECS 部署動作

Amazon ECS 是一種高度可擴展的高效能容器管理服務,可讓您在 中執行容器型應用程式 AWS 雲端。建立管道時,您可以選擇 Amazon ECS 作為部署提供者。變更來源控制儲存庫中的程式碼會觸發您的管道,以建立新的 Docker 映像、將其推送至您的容器登錄檔,然後將更新映像部署至 Amazon ECS。您也可以使用 中的 ECS(藍/綠) 供應商動作 CodePipeline ,ECS透過 將流量路由和部署至 Amazon CodeDeploy。

進一步了解:

Elastic Beanstalk 部署動作

Elastic Beanstalk 是一項服務,可在熟悉的伺服器上部署和擴展使用 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 開發的 Web 應用程式和服務,例如 Apache、Nginx、 Passenger 和 IIS。您可以設定 CodePipeline 使用 Elastic Beanstalk 部署程式碼。您可以在建立管道之前或使用建立管道精靈時,建立 Elastic Beanstalk 應用程式和環境,以便在階段的部署動作中使用。

注意

此功能不適用於亞太區域 (海德拉巴)、亞太區域 (墨爾本)、中東 (UAE)、歐洲 (西班牙) 或歐洲 (蘇黎世) 區域。若要參考其他可用的動作,請參閱 與 的產品和服務整合 CodePipeline

進一步了解:

AWS OpsWorks 部署動作

AWS OpsWorks 是一種組態管理服務,可協助您使用 Chef 來設定和操作所有形狀和大小的應用程式。您可以使用 定義應用程式的架構和每個元件的規格 AWS OpsWorks Stacks,包括套件安裝、軟體組態和資源,例如儲存。您可以設定 CodePipeline AWS OpsWorks Stacks 使用 搭配 中的自訂主廚食譜和應用程式來部署程式碼 AWS OpsWorks。

  • 自訂 Chef Cookbooks – AWS OpsWorks 使用 Chef Cookbooks 來處理安裝和設定套件和部署應用程式等任務。

  • 應用程式 – AWS OpsWorks 應用程式由您要在應用程式伺服器上執行的程式碼組成。應用程式程式碼會儲存在儲存庫中,例如 Amazon S3 儲存貯體。

在建立管道之前,您可以建立 AWS OpsWorks 堆疊和層。您可以在建立管道之前或使用建立管道精靈時,建立要在階段部署動作中使用的 AWS OpsWorks 應用程式。

CodePipeline 的 支援 AWS OpsWorks 目前僅適用於美國東部 (維吉尼亞北部) 區域 (us-east-1)。

進一步了解:

Service Catalog 部署動作

Service Catalog 可讓組織建立和管理核准用於 的產品目錄 AWS。

您可以設定 CodePipeline 將產品範本的更新和版本部署至 Service Catalog。您可以建立要在部署動作中使用的 Service Catalog 產品,然後使用建立管道精靈來建立管道。

進一步了解:

Amazon Alexa 部署動作

Amazon Alexa Skills Kit 可讓您建置和散佈雲端技能給支援 Alexa 功能的裝置的使用者。

注意

此功能不適用於亞太區域 (香港) 或歐洲 (米蘭) 區域。若要使用該區域中可用的其他部署動作,請參閱 部署動作整合

您可以將動作新增至使用 Alexa Skills Kit 做為部署提供者的管道。您的管道會偵測到來源變更,然後將更新部署至 Alexa 服務中的技能。

進一步了解:

CodeDeploy 部署動作

CodeDeploy 協調應用程式部署至 Amazon EC2/內部部署執行個體、Amazon Elastic Container Service 運算平台和無伺服器 AWS Lambda 運算平台。您可以設定 CodePipeline 使用 CodeDeploy 來部署程式碼。您可以在建立管道之前或使用建立管道精靈時,建立要在階段部署動作中使用的 CodeDeploy 應用程式、部署和部署群組。

進一步了解:

XebiaLabs 部署動作

您可以設定 CodePipeline XebiaLabs使用 在管道的一或多個動作中部署程式碼。

進一步了解:

與 Amazon Simple Notification Service 的核准動作整合

Amazon SNS 是一種快速、靈活、完全受管的推送通知服務,可讓您將個別訊息或散播訊息傳送給大量收件人。Amazon SNS讓傳送推播通知給行動裝置使用者、電子郵件收件人,甚至傳送訊息給其他分散式服務變得簡單且符合成本效益。

當您在 中建立手動核准請求時 CodePipeline,您可以選擇性地發佈至 Amazon 中的主題,SNS以便通知訂閱該請求的IAM所有使用者核准動作已準備好接受檢閱。

進一步了解:

叫用動作整合

下列資訊依 CodePipeline 動作類型整理,可協助您設定 CodePipeline 與下列叫用動作提供者整合。

Lambda 叫用動作

Lambda 可讓您執行程式碼,而無需佈建或管理伺服器。您可以設定 CodePipeline 以使用 Lambda 函數為管道新增彈性和功能。您可以在建立管道之前或使用建立管道精靈時,建立 Lambda 函數以新增為階段的動作。

進一步了解:

Snyk 叫用動作

您可以將 設定為 CodePipeline 使用 Snyk,透過偵測和修正安全漏洞,以及更新應用程式程式碼和容器映像中的相依性,來確保開放原始碼環境的安全。您也可以在 中使用 Snyk 動作 CodePipeline ,將管道中的安全測試控制項自動化。

進一步了解:

Step Functions 叫用動作

Step Functions 可讓您建立和設定狀態機器。您可以設定 CodePipeline 以使用 Step Functions 叫用動作來觸發狀態機器執行。

進一步了解: