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

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

與 CodePipeline 動作類型的整合

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

來源動作整合

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

Amazon ECR 來源動作

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

進一步了解:

Amazon S3 來源動作

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

注意

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

進一步了解:

連接到 Bitbucket 雲 GitHub(版本 2), GitHub 企業服務器, GitLab.com 和 GitLab 自我管理

連線 (CodeStarSourceConnection動作) 是用來存取您的第三方 Bitbucket 雲端、 GitHub 企業伺服器 GitHub、 GitLab .com 或 GitLab自我管理的儲存庫。

注意

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

比特桶雲

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

注意

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

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

若是 Bitbucket 雲端,請使用主控台中的「Bitbucket」選項或 CLI 中的CodestarSourceConnection動作。請參閱比特桶雲連接

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

進一步了解:

GitHub 或 GitHub 企業雲

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

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

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

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

進一步了解:

GitHub 企業伺服器

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

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

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

重要

AWS CodeStar 連線不支援 GitHub 企業伺服器 2.22.0 版,因為發行版本中存在已知問題。若要連線,請升級至 2.22.1 版或最新的可用版本。

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

進一步了解:

GitLab.com

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

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

進一步了解:

GitLab 自我管理

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

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

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

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

進一步了解:

CodeCommit 來源動作

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

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

進一步了解:

GitHub (版本 1)源操作

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

注意

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

進一步了解:

建置動作整合

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

CodeBuild 建置動作

CodeBuild是完全受控的建置服務,可編譯原始程式碼、執行單元測試,以及產生準備好部署的成品。

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

注意

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

進一步了解:

CloudBees 建置動作

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

進一步了解:

Jenkins 建置動作

您可以配置 CodePipeline 為使用 Jenkins CI 在管道中的一個或多個動作中構建或測試您的代碼。您必須先前創建了一個 Jenkins 項目,並為該項目安裝和配置了 Jenkins 的 CodePipeline 插件。您可以建立新的管道或編輯現有的管道,以連線至 Jenkins 專案。

詹金斯訪問是在每個項目的基礎上進行配置。您必須在要使用的每個 Jenkins 實例上安裝詹金斯 CodePipeline 插件。 CodePipeline您還必須配置對詹金斯項目的 CodePipeline 訪問權限。您應該設定 Jenkins 專案僅接受 HTTPS/SSL 連線,以保護 Jenkins 專案。如果您的 Jenkins 專案安裝在 Amazon EC2 執行個體上,請考慮在每個執行個體 AWS CLI 上安裝以提供您的 AWS 登入資料。然後使用您要用於連線的認證,在這些執行個體上設定設定 AWS 檔。這是透過 Jenkins Web 界面新增和儲存它們的替代方案。

進一步了解:

TeamCity 建置動作

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

進一步了解:

測試動作整合

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

CodeBuild 測試動作

CodeBuild是雲端中完全受控的建置服務。 CodeBuild 編譯您的原始程式碼、執行單元測試,並產生準備好部署的成品。

您可以新增 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 和消防操作系統應用程序的測試,包括使用鈦 PhoneGap,Xamarin,統一和其他框架創建的應用程序。它支援遠端存取 Android 應用程式,可讓您直接與測試裝置互動。

進一步了解:

鬼 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 無伺服器應用程式模型 (AWS SAM) 延伸 AWS CloudFormation 以提供簡化的方式來定義和部署無伺服器應用程式。 AWS SAM 支援 Amazon API Gateway API、 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 將流量路由和部署到 Amazon ECS。 CodeDeploy

進一步了解:

Elastic Beanstalk 部署動作

Elastic Beanstalk 是用於部署和擴展 Web 應用程序和服務與 Java,. NET,PHP,Node.js,Python,紅寶石,圍棋,和碼頭窗上熟悉的服務器,如阿帕奇,Nginx 的,乘客和 IIS 開發的 Web 應用程序和服務。您可以配置 CodePipeline 為使用 Elastic Beanstalk 部署您的代碼。您可以在建立管道之前或使用「建立管線」精靈時,建立 Elastic Beanstalk 應用程式和環境,以用於階段中的部署動作。

注意

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

進一步了解:

AWS OpsWorks 部署動作

AWS OpsWorks 是一項配置管理服務,可幫助您使用 Chef 配置和操作各種形狀和大小的應用程序。您可以使用 AWS OpsWorks Stacks來定義應用程式的架構和每個元件的規格,包括套件安裝、軟體組態和儲存等資源。您可以 CodePipeline 將程式碼與中的自訂 Chef 說明書和應用程式配合使用 AWS OpsWorks Stacks 來部署您的程式 AWS OpsWorks碼。

  • 自定義廚師食譜- AWS OpsWorks 使用 Chef 食譜來處理諸如安裝和配置軟件包以及部署應用程序之類的任務。

  • 應用程式 — AWS OpsWorks 應用程式包含您要在應用程式伺服器上執行的程式碼。應用程式程式碼存放在儲存庫中,例如 Amazon S3 儲存貯體。

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

CodePipeline 目前 AWS OpsWorks 僅在美國東部 (維吉尼亞北部) 區域 (us-east-1) 提供支援。

進一步了解:

Service Catalog 部署動作

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

注意

此功能不適用於亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、中東 (阿拉伯聯合大公國)、歐洲 (西班牙)、歐洲 (蘇黎世) 或以色列 (特拉維夫) 等地區。若要參考其他可用動作,請參閱產品與服務整合 CodePipeline

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

進一步了解:

Amazon Alexa 部署動作

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

注意

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

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

進一步了解:

CodeDeploy 部署動作

CodeDeploy協調 Amazon EC2 執行個體、現場部署執行個體或兩者的應用程式部署。您可以設定 CodePipeline 為用 CodeDeploy 來部署程式碼。您可以在建立管道之前或使用「建立管線」精靈時,建立要在階段中的部署動作中使用的 CodeDeploy 應用程式、部署和部署群組。

進一步了解:

XebiaLabs 部署動作

您可以配置 CodePipeline 為用XebiaLabs於在管道中的一個或多個動作中部署您的程式碼。

進一步了解:

與 Amazon 簡易通知服務整合核准動作

Amazon SNS 是一種快速、靈活且全受管的推播通知服務,可讓您傳送個別訊息或將訊息散播給大量收件者。Amazon SNS 可讓您輕鬆且經濟實惠地傳送推播通知給行動裝置使用者、電子郵件收件者,甚至將訊息傳送至其他分散式服務。

在中建立手動核准請求時 CodePipeline,您可以選擇性地發佈到 Amazon SNS 中的某個主題,以便所有訂閱該主題的 IAM 使用者都會收到通知,告知該核准動作已準備好可供檢閱。

進一步了解:

叫用動作整合

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

Lambda 調用動作

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

進一步了解:

斯奈克調用行動

您可以配置 CodePipeline 為使用 Snyk 通過檢測和修復安全漏洞並更新應用程序代碼和容器映像中的依賴關係來保護開放源代碼環境的安全。您也可以使用中的 Snyk 動作 CodePipeline 來自動化管道中的安全性測試控制項。

進一步了解:

Step Functions 調用操作

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

進一步了解: