建立管道、階段和動作 - AWS CodePipeline

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

建立管道、階段和動作

您可以使用 AWS CodePipeline 控制台或 AWS CLI 建立管線。管道必須擁有至少兩個階段。管道的第一階段必須是來源階段。管道必須至少有一個其他階段是建置或部署階段。

您可以將與管道 AWS 區域 不同的動作新增至管道中。「跨區域」動作是指動作的提供者,而動作類型或提供者類型位於與管線不同的「 AWS 區域」中。 AWS 服務 如需詳細資訊,請參閱在中新增跨區域動作 CodePipeline

您也可以使用 Amazon ECS 做為部署供應商,建立管道來建置和部署容器型應用程式。在建立透過 Amazon 部署容器型應用程式的管道之前ECS,您必須建立映像定義檔案,如中所述。映像定義檔案參考

CodePipeline 推送原始程式碼變更時,會使用變更偵測方法來啟動管線。這些偵測方法視原始碼類型而定:

  • CodePipeline 使用 Amazon CloudWatch 事件偵測 CodeCommit 來源儲存庫和分支或 S3 來源儲存貯體中的變更。

注意

當您使用主控台建立或編輯管道時,將為您建立變更偵測資源。如果您使用 AWS CLI建立管線,則必須自行建立其他資源。如需詳細資訊,請參閱 CodeCommit 來源動作和 EventBridge

建立管道 (主控台)

若要在主控台中建立管道,您必須提供原始檔案位置,以及您將用於動作的提供者相關資訊。

當您使用主控台來建立管道時,必須加入一個原始碼階段以及下方其中之一或兩者:

  • 建置階段。

  • 部署階段。

當您使用管線精靈時, CodePipeline 會建立階段的名稱 (來源、組建、暫存)。這些名稱無法變更。您可以在稍後新增的階段中使用更具體的名稱 (例如, BuildToGamma 或 DeployToProd)。

步驟 1:建立並命名管道
  1. 請登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 http://console.aws.amazon.com/codesuite/codepipeline/home

  2. Welcome (歡迎使用) 頁面上,選擇 Create pipeline (建立管道)。

    如果這是您第一次使用 CodePipeline,請選擇「開始使用」。

  3. Step 1: Choose pipeline settings (步驟 1:選擇管道設定) 頁面的 Pipeline name (管道名稱) 中輸入管道的名稱。

    在單一 AWS 帳戶中,您在「 AWS 區域」中建立的每個管線都必須具有唯一的名稱。名稱可以重複用於不同區域中的管道。

    注意

    在您建立管道後,便無法更改其名稱。如需其他限制的相關資訊,請參閱 配額 AWS CodePipeline

  4. 配管類型中,選擇下列其中一個選項。管道類型的特性和價格不同。如需詳細資訊,請參閱管線類型

    • V1 類型管線具有包含標準管線、階段和動作層級參數的JSON結構。

    • V2 類型管線與 V1 類型具有相同的結構,以及額外的參數支援,例如 Git 標籤上的觸發程序和管線層級變數。

  5. Service role (服務角色) 中,執行下列其中一項作業:

    • 選擇 [新增服務角色] CodePipeline 以允許在中建立新的服務角色IAM。

    • 選擇現有服務角色以使用已在中建立的服務角色IAM。在 [角色] 中ARN,ARN從清單中選擇您的服務角色。

    注意

    視建立服務角色的時間而定,您可能需要更新其權限以支援其他權限 AWS 服務。如需相關資訊,請參閱 將許可新增至 CodePipeline 服務角色

    如需服務角色與其政策陳述式的詳細資訊,請參閱 管理服 CodePipeline 務角色

  6. (選擇性) 在變數下,選擇新增變數以在管線層級新增變數。

    如需管線層級變數的詳細資訊,請參閱變數參考。如需在管線執行時傳送的管線層級變數的教學課程,請參閱。教學課程:使用管線層級變數

    注意

    雖然在管線層級新增變數是可選的,但對於在沒有提供值的管線層級使用變數指定的配管,管線執行將會失敗。

  7. (選用) 展開 Advanced settings (進階設定)

  8. Artifact store (成品存放區) 中,執行下列其中一項操作:

    1. 選擇預設位置以針對您為管道選取的管道使用預設成品存放區,例如指定為預設值的 AWS 區域 S3 成品儲存貯體。

    2. 在與您的管道相同的區域中,若您已有成品存放區 (例如 S3 成品儲存貯體),請選擇 Custom location (自訂位置)。在 Bucket (儲存貯體) 中,選擇儲存貯體名稱。

    注意

    這不是原始碼的來源儲存貯體。這是管道的成品存放區。每個管道都需要有個別成品存放區,例如 S3 儲存貯體。建立或編輯管道時,管線區域中必須有一個人工因素儲存貯體,而每個執行動作的「 AWS 區域」都必須有一個成品儲存貯體。

    如需詳細資訊,請參閱 輸入和輸出成品CodePipeline 配管結構參照

  9. Encryption key (加密金鑰) 中,執行下列其中一項操作:

    1. 若要使用 CodePipeline 預設值 AWS KMS key 來加密管道人工因素存放區 (S3 儲存貯體) 中的資料,請選擇預設 AWS 受管金鑰

    2. 若要使用客戶受管金鑰加密管道成品存放區 (S3 儲存貯體) 中的資料,請選擇客戶受管金鑰。選擇金鑰 ID ARN、金鑰或別名ARN。

  10. 選擇 Next (下一步)

步驟 2:建立原始碼階段
  • Step 2: Add source stage (步驟 2:新增來源階段) 頁面的 Source provider (來源供應商) 下拉式選單中,選擇您的原始碼所存放的儲存庫類型、指定其必要選項,然後選擇 Next step (下一步)

    • 對於比特桶雲 GitHub(版本 2), GitHub 企業服務器, GitLab.com 或 GitLab自我管理:

      1. 在「連線」下,選擇現有的連線或建立新的連線。若要建立或管理來 GitHub 源動作的連線,請參閱GitHub 連接

      2. 選擇您要用作管線來源位置的存放庫。

        選擇在觸發器類型上新增觸發器或篩選器,以啟動管線。如需使用觸發器的詳細資訊,請參閱篩選程式碼推送或提取要求的觸發程序。如需使用 glob 模式篩選的詳細資訊,請參閱在語法中使用 glob 模式

      3. 在 [輸出成品格式] 中,選擇成品的格式。

        • 若要使用預設方法儲存 GitHub 動作的輸出成品,請選擇CodePipeline預設值。此動作會從存 GitHub 放庫存取檔案,並將成品儲存在管線人工因素存放區中的ZIP檔案中。

        • 若要儲存包含儲存庫URL參照的JSON檔案,以便下游動作可以直接執行 Git 命令,請選擇「完整複製」。此選項只能由 CodeBuild 下游動作使用。

          如果您選擇此選項,則需要更新 CodeBuild 專案服務角色的權限,如中所示疑難排 CodePipeline。如需說明如何使用「完整複製」選項的教學課程,請參閱教學課程:搭 GitHub 配管線來源使用完整複製

    • 對於 Amazon S3

      1. Amazon S3 location (Amazon S3 位置) 中,提供 S3 儲存貯體名稱與連結到儲存貯體中物件的路徑,並啟用版本控制。儲存貯體名稱與路徑的格式類似下列內容:

        s3://bucketName/folderName/objectName
        注意

        當 Amazon S3 是管道的來源供應商時,您可以將一或多個來源檔案壓縮為單一 .zip,然後將 .zip 上傳到來源儲存貯體。您也可以上傳單一解壓縮檔案;不過,預期 .zip 檔案的下游動作會失敗。

      2. 選擇 S3 來源儲存貯體後, CodePipeline 建立 Amazon CloudWatch 事件規則和要為此管道建立的 AWS CloudTrail 追蹤。接受 Change detection options (變更偵測選項) 下的預設設定:​ 這可 CodePipeline 讓您使用 Amazon CloudWatch 事件 AWS CloudTrail 並偵測新管道的變更。選擇 Next (下一步)

    • AWS CodeCommit 中:

      • 存放庫名稱中,選擇要用作管線來源位置的 CodeCommit 存放庫名稱。在 Branch name (分支名稱),從下拉式清單中選擇您想要使用的分支。

      • 在 [輸出成品格式] 中,選擇成品的格式。

        • 若要使用預設方法儲存 CodeCommit 動作的輸出成品,請選擇CodePipeline預設值。此動作會從存 CodeCommit 放庫存取檔案,並將成品儲存在管線人工因素存放區中的ZIP檔案中。

        • 若要儲存包含儲存庫URL參照的JSON檔案,以便下游動作可以直接執行 Git 命令,請選擇「完整複製」。此選項只能由 CodeBuild 下游動作使用。

          如果您選擇此選項,則需要將codecommit:GitPull權限新增至您的 CodeBuild 服務角色,如中所示新增 CodeCommit來源動作的 CodeBuild GitClone 權限。您還需要將codecommit:GetRepository權限添加到 CodePipeline 服務角色,如中所示將許可新增至 CodePipeline 服務角色。如需說明如何使用「完整複製」選項的教學課程,請參閱教學課程:搭 GitHub 配管線來源使用完整複製

      • 選擇 CodeCommit 儲存庫名稱和分支後,變更偵測選項中會顯示一則訊息,顯示要為此管道建立的 Amazon E CloudWatch vents 規則。接受 Change detection options (變更偵測選項) 下的預設設定:​ 這可 CodePipeline 讓您使用 Amazon CloudWatch 事件偵測新管道的變更。

    • 對於 Amazon ECR

      • 儲存庫名稱中,選擇 Amazon ECR 儲存庫的名稱。

      • Image 標籤中,指定映像名稱和版本 (如果不同於) LATEST。

      • 輸出人工因素中,選擇輸出人工因素預設值 MyApp,例如,其中包含您要下一個階段使用的影像名稱和儲存庫URI資訊。

        如需ECS使用 CodeDeploy藍綠色部署 (包含 Amazon ECR 來源階段) 為 Amazon 建立管道的教學課程,請參閱教學課程:使用 Amazon ECR 來源和 ECS-to-CodeDeploy 部署建立管道

      當您在管道中包含 Amazon ECR 來源階段時,當您提交變更時,來源動作會產生imageDetail.json檔案做為輸出成品。如需 imageDetail.json 詳細資訊,請參閱 imageDetail適用於Amazon ECS 藍色/綠色部署動作的 .json 檔案

    注意

    物件和檔案類型必須與您計劃使用的部署系統相容 (例如,Elastic Beanstalk 或 CodeDeploy)。支援的檔案類型必須包含 .zip、.tar 以及 .tgz 檔案。如需 Elastic Beanstalk 支援容器類型的詳細資訊,請參閱自訂和設定 Elastic Beanstalk 環境和支援的平台。如需使用部署修訂版本的詳細資訊 CodeDeploy,請參閱上傳應用程式修訂版本和準備修訂版本。

步驟 3:建立建置階段

如果您打算建立部署階段,此步驟為選用。

  • Step 3: Add build stage (步驟 3:新增建置階段) 頁面上,執行下列其中一項動作,然後選擇 Next (下一步)

    • 如果您打算建立部署階段,請選擇 Skip build stage (跳過建置階段)

    • Build provider (建置提供者) 中選擇建置服務的自訂動作提供者,並提供該提供者的組態詳細資訊。如需如何將 Jenkins 新增為建置提供者的範例,請參閱 教學:建立四階段管道

    • Build provider (建置供應商),選擇 AWS CodeBuild

      區域中,選擇資源所在的 AWS 區域。[Re gion] 欄位會指定針對此動作類型和提供者類型建立 AWS 資源的位置。只有動作提供者為的動作才會顯示此欄位 AWS 服務。「區域」(Region) 欄位預設為與管線相同的「 AWS 區域」。

      Project name (專案名稱) 中,選擇您的建置專案。如果您已在中建立組建專案 CodeBuild,請選擇它。或者,您可以在中創建一個構建項目, CodeBuild 然後返回到此任務。請遵循「使用者指南」中的「建立使用的管線」 CodeBuild 中的CodeBuild指示進行。

      環境變數中,若要將 CodeBuild環境變數新增至您的建置動作,請選擇 [新增環境變數]。每個變數都是由三個項目組成:

      • Name (名稱) 中輸入環境變數的名稱或索引鍵。

      • Value (值) 中輸入環境變數的值。如果您為變數類型選擇「參數」,請確定此值是您已儲存在「 AWS Systems Manager 參數存放區」中的參數名稱。

        注意

        我們強烈建議使用環境變數來儲存敏感值,尤其是 AWS 憑證。當您使用主 CodeBuild 控台或時 AWS CLI,環境變數會以純文字顯示。對於敏感值,建議您改用 Parameter (參數) 類型。

      • (選擇性) 在 Type (類型) 中輸入環境變數的類型。有效值為 Plaintext (純文字)Parameter (參數)。預設值為 Plaintext (純文字)

      (選擇性) 在 [建置類型] 中,選擇下列其中一項:

      • 若要在單一建置動作執行中執行每個組建,請選擇 [單一組建]。

      • 若要在同一個建置動作執行中執行多個組建,請選擇「Batch 建置」。

      (選擇性) 如果您選擇執行批次組建,您可以選擇將批次中的所有成品合併到單一位置,將所有組建加工品放入單一輸出成品中。

步驟 4:建立部署階段

如果您已建立建置階段,此步驟為選用。

  • Step 4: Add deploy stage (步驟 4:新增部署階段) 頁面上,執行下列其中一項動作,然後選擇 Next (下一步)

    • 如果您已在前一個步驟中建立建置階段,選擇 Skip deploy stage (跳過部署階段)

      注意

      如果您已跳過建置階段,此選項不會出現。

    • Deploy provider (部署提供者) 中,選擇您已為部署提供者建立的自訂動作。

      在「區域」中,僅針對「跨區域」作業,選擇要在其中建立資源的「 AWS 區域」。[Re gion] 欄位會指定針對此動作類型和提供者類型建立 AWS 資源的位置。此欄位僅針對動作提供者為的動作顯示 AWS 服務。「區域」(Region) 欄位預設為與管線相同的「 AWS 區域」。

    • Deploy provider (部署供應商) 中,可用於預設供應商的欄位如下所示:

      • CodeDeploy

        應用程式名稱中,輸入或選擇現有 CodeDeploy 應用程式的名稱。在 Deployment group (部署群組) 中,輸入該應用程式的部署群組名稱。選擇 Next (下一步)。您也可以在 CodeDeploy主控台中建立應用程式、部署群組或兩者。

      • AWS Elastic Beanstalk

        應用程式名稱中,輸入或選擇現有 Elastic Beanstalk 應用程式的名稱。在 Environment name (環境名稱) 中,輸入應用程式的環境。選擇 Next (下一步)。您也可以在 Elastic Beanstalk 主控台中建立應用程式、環境或兩者。

      • AWS OpsWorks Stacks

        Stack (堆疊) 中,輸入或選擇您想要使用的堆疊名稱。在 Layer (分層) 中,選擇您的目標執行個體隸屬的分層。在 App (應用程式) 中,選擇您想要更新與部署的應用程式。如果您需要建立應用程式,請在中選擇 [建立新應用程式] AWS OpsWorks。

        如需將應用程式新增至堆疊和圖層的詳細資訊 AWS OpsWorks,請參閱《AWS OpsWorks 使用手冊》中的「新增應程式」。

        如需如何使用中的簡單管線 CodePipeline 做為在 AWS OpsWorks 圖層上執行之程式碼原始碼的 end-to-end 範例,請參閱使 CodePipeline 用 and AWS OpsWorks Stacks。

      • AWS CloudFormation

        執行以下任意一項:

        • 在 [動作] 模式中,選擇 [建立或更新堆疊]、輸入堆疊名稱和範本檔案名稱,然後選擇 AWS CloudFormation 要承擔的角色名稱。選擇性地輸入組態檔案的名稱,然後選擇IAM權能選項。

        • 在「動作」模式中,選擇「建立或取代變更集」,輸入堆疊名稱和變更集名稱,然後選擇 AWS CloudFormation 要承擔的角色名稱。選擇性地輸入組態檔案的名稱,然後選擇IAM權能選項。

        有關將 AWS CloudFormation 功能整合到中的管道的詳細資訊 CodePipeline,請參閱AWS CloudFormation 使用者指南 CodePipeline中的持續交付

      • Amazon ECS

        叢集名稱中,輸入或選擇現有 Amazon ECS 叢集的名稱。在 Service name (服務名稱) 中,輸入或選擇在叢集上執行的服務名稱。您也可以建立叢集和服務。在 Image filename (映像檔案名稱) 中,輸入說明服務容器與映像之映像定義檔案的名稱。

        注意

        Amazon 部ECS署動作需要imagedefinitions.json檔案作為部署動作的輸入。檔案預設名稱為 imagedefinitions.json。如果您選用不同的名稱,必須在建立管道部署階段時提供名稱。如需詳細資訊,請參閱適用於 Amazon 標準部署動作的影像定義 .json 檔案 ECS

        選擇 Next (下一步)

        注意

        確保您的 Amazon ECS 叢集設定有兩個或更多個執行個體。Amazon ECS 叢集必須至少包含兩個執行個體,以便將一個作為主執行個體進行維護,另一個則用於容納新部署。

        如需使用管線部署容器型應用程式的教學課程,請參閱教學課程:使用. CodePipeline

      • AmazonECS(藍/綠)

        輸入 CodeDeploy 應用程式和部署群組、Amazon ECS 任務定義和 AppSpec 檔案資訊,然後選擇 [下一步]。

        注意

        Amazon ECS (藍/綠) 動作需要 imageDetail .json 檔案做為部署動作的輸入成品。由於 Amazon ECR 來源動作會建立此檔案,因此使用 Amazon ECR 來源動作的管道不需要提供imageDetail.json檔案。如需詳細資訊,請參閱imageDetail適用於Amazon ECS 藍色/綠色部署動作的 .json 檔案

        如需使用建立管道以將藍綠色部署到 Amazon ECS 叢集的教學課程 CodeDeploy,請參閱教學課程:使用 Amazon ECR 來源和 ECS-to-CodeDeploy 部署建立管道

      • AWS Service Catalog

        如果您想要使用主控台中的欄位來指定您的組態,請選擇 Enter deployment configuration (輸入部署組態),或如果您擁有另一個組態檔案,請選擇 Configuration file (組態檔案)。輸入產品和組態資訊,然後選擇 Next (下一步)

        如需使用管線將產品變更部署至 Service Catalog 的教學課程,請參閱教學課程:建立部署至 Service Catalog 的管線

      • Alexa Skills Kit

        Alexa Skill ID (Alexa 技能 ID) 中,輸入您 Alexa 技能的技能 ID。在用戶端 ID 和用戶端密碼中,輸入使用 Amazon (LWA) 安全設定檔登入產生的登入資料。在重新整理權杖中,輸入您使用擷取重新整理權杖的ASKCLI命令產生的重新整理權杖。選擇 Next (下一步)

        如需使用管線部署 Alexa 技能和產生LWA認證的教學課程,請參閱教學:建立部署 Amazon Alexa 技能的管道

      • Amazon Simple Storage Service (Amazon S3)

        Bucket (儲存貯體) 中,輸入您要使用的 S3 儲存貯體名稱。如果部署階段的輸入成品是檔案,請選擇部署前擷取ZIP檔案。如果選取了部署前擷取檔案,您可以選擇性地輸入要解壓縮ZIP檔案的部署路徑值。如果未選取此選項,您需要在 S3 object key (S3 物件金鑰) 中輸入一個值。

        注意

        大多數來源和建置階段輸出成品都將被壓縮。Amazon S3 以外的所有管道來源供應商都會壓縮您的來源檔案,然後再將它們提供為下一個動作的輸入成品。

        (選擇性) 在罐裝中ACL,輸入罐頭ACL以套用至部署至 Amazon S3 的物件。

        注意

        套用固定狀態ACL會覆寫ACL套用至物件的任何現有項目。

        (選用) 在 Cache control (快取控制) 中,為從儲存貯體下載物件的請求指定快取控制參數。如需有效值的清單,請參閱作HTTP業的Cache-Control標頭欄位。若要在 Cache control (快取控制) 中輸入多個值,請在各值之間使用逗號。如此範例所示,您可以在每個逗號後面加上空格 (選用)。

        顯示控制台中具有以下條目的緩存控制字段的圖像:公共,最大年齡 = 0,無轉換

        上述範例項目會顯示在中,CLI如下所示:

        "CacheControl": "public, max-age=0, no-transform"

        選擇 Next (下一步)

        如需使用 Amazon S3 部署動作提供者建立管道的教學課程,請參閱教學課程:建立使用 Amazon S3 做為部署供應商的管道

步驟 5:檢閱管道
  • Step 5: Review (步驟 5:檢閱) 頁面上,檢閱您的管道組態,然後選擇 Create pipeline (建立管道) 以建立管道或 Previous (上一步) 以返回並編輯您的選擇。請選擇 Cancel (取消) 以放棄建立管道並離開精靈。​

您現在已建立管道,並可在主控台中檢視。管道會在您建立後即開始執行。如需詳細資訊,請參閱在中檢視管線和詳細資訊 CodePipeline。如需有關變更管道的詳細資訊,請參閱 在中編輯配管 CodePipeline

建立管線 (CLI)

若要使用 AWS CLI 建立配管,請建立一個JSON檔案來定義配管結構,然後使用--cli-input-json參數執行create-pipeline指令。

重要

您無法使用建 AWS CLI 立包含合作夥伴動作的管道。您必須改用 CodePipeline 主控台。

如需有關配管結構的詳細資訊,請參閱參照中的CodePipeline 配管結構參照建立配管。 CodePipeline API

若要建立JSON檔案,請使用範例管線JSON檔案進行編輯,然後在執行create-pipeline命令時呼叫該檔案。

先決條件:

您需要在ARN中建立的服務角 CodePipeline 色開始使用 CodePipeline。當您執行create-pipeline命令時,您可以ARN在管線JSON檔案中使用 CodePipeline 服務角色。如需建立服務角色的詳細資訊,請參閱建立服 CodePipeline 務角色。與主控台不同的是,在中執行create-pipeline命令 AWS CLI 並沒有為您建立 CodePipeline 服務角色的選項。服務角色必須已存在。

您需要存放管道成品之 S3 儲存貯體的名稱。此儲存貯體必須與管道位於相同的區域。執行create-pipeline命令時,您可以在管線JSON檔案中使用值區名稱。與主控台不同,在中執行create-pipeline命令 AWS CLI 並不會建立用於存放成品的 S3 儲存貯體。該儲存貯體必須已經存在。

注意

您也可以使用指get-pipeline令取得該管線JSON結構的副本,然後在純文字編輯器中修改該結構。

主題
    建立 JSON 檔案
    1. 在終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows) 上,在本機目錄中建立新的文字檔案。

    2. (選用) 您可以在配管層級新增一或多個變數。您可以在 CodePipeline 動作的組態中參照此值。您可以在建立配管時新增變數名稱和值,也可以選擇在主控台中啟動管線時指派值。

      注意

      雖然在管線層級新增變數是可選的,但對於在沒有提供值的管線層級使用變數指定的配管,管線執行將會失敗。

      管線層級的變數會在管線執行時解析。所有變量都是不可變的,這意味著在賦值後它們無法更新。具有已解析值的管線層級變數將顯示在每次執行的歷史記錄中。

      您可以使用配管結構中的 variable 屬性在管線層級提供變數。在下列範例中,Variable1變數的值為Value1

      "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]

      將此結構新增至您的管線JSON,或新增至以下步驟JSON中的範例。如需有關變數的詳細資訊,包括命名空間資訊,請參閱變數參考

    3. 在純文字編輯器中開啟檔案並編輯值,以反映您想建立的結構。您必須至少變更管道名稱。您也應考慮是否變更:

      • 此管道成品要存放的 S3 儲存貯體。

      • 您程式碼的來源位置。

      • 部署供應商。

      • 您想如何部署程式碼?

      • 您的管道標籤。

      以下兩個階段的範本管道結構,反白了您應考慮變更的管道值。您的管道可能包含超過兩個以上的階段:

      { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }

      此範例透過將管道的 Project 標籤鍵和 ProjectA 值,新增標籤到管道。如需有關在中標記資源的更多資訊 CodePipeline,請參閱標記資源

      請確定JSON檔案中的PollForSourceChanges參數設定如下:

      "PollForSourceChanges": "false",

      CodePipeline 使用 Amazon CloudWatch 事件偵測 CodeCommit 來源儲存庫和分支或 S3 來源儲存貯體中的變更。下一步驟包含了為您的管道手動建立這些資源的說明。在您使用建議的變更偵測方法時,因為無須使用定期檢查,故可將旗標設為 false 以將其停用。

    4. 若要在與您的管道不同的區域中建立建置、測試或部署動作,您必須將以下項目新增到管道結構。如需說明,請參閱 在中新增跨區域動作 CodePipeline

      • Region 參數新增到動作的管道結構。

      • 使用此artifactStores參數可為您執行動作的每個「 AWS 區域」指定成品值區。

    5. 當您對其結構滿意時,使用像是 pipeline.json​ 的名稱儲存您的檔案。

    建立管道
    1. 執行create-pipeline命令並使用--cli-input-json參數來指定先前建立的JSON檔案。

      建立名為的配管 MySecondPipeline 包含一個名為管線 .json 的JSON文件,其中包含名稱」MySecondPipeline「作為name中的值JSON,您的命令看起來如下所示:

      aws codepipeline create-pipeline --cli-input-json file://pipeline.json
      重要

      請確認在檔案名稱之前包含 file://。這是此命令必要項目。

      此命令會傳回您所建立的所有管道結構。

    2. 若要檢視管線,請開啟 CodePipeline 控制台並從管線清單中選擇它,或使用get-pipeline-state指令。如需詳細資訊,請參閱在中檢視管線和詳細資訊 CodePipeline

    3. 如果您使CLI用建立管線,則必須手動建立管線的建議變更偵測資源: