本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在中編輯配管 CodePipeline
管線描述您要 AWS CodePipeline 遵循的發行程序,包括必須完成的階段和動作。您可以透過編輯管道來新增或移除這些元素。然而,當您編輯管道時,不可變更管道名稱或管道中繼資料。
您可以使用配管編輯頁面編輯管線類型、變數和觸發器。您也可以在管道中新增或變更階段和動作。
和建立管道不同,編輯管道並不會傳回最近一次透過管道執行的修訂版。如果您想透過剛編輯的管道執行最近的修訂版,您必須將其手動傳回。否則,編輯的管道將在下次您更改來源階段中設定的來源位置時執行。如需相關資訊,請參閱手動啟動管道。
您可以將動作新增至管道位於與管道不同的 AWS 區域中的管道。當一個 AWS 服務 是動作的提供者,且此動作類型/提供者類型與管線位於不同的 AWS 區域時,這是跨區域動作。如需有關跨區域動作的詳細資訊,請參閱在中新增跨區域動作 CodePipeline。
CodePipeline 推送原始程式碼變更時,會使用變更偵測方法來啟動管線。這些偵測方法視原始碼類型而定:
-
CodePipeline 使用 Amazon CloudWatch 事件偵測來 CodeCommit 源儲存庫或 Amazon S3 來源儲存貯體中的變更。
注意
您使用主控台時會自動建立變更偵測資源。當您使用主控台建立或編輯管道時,將為您建立其他資源。如果您使用 AWS CLI 建立管線,則必須自行建立其他資源。如需建立或更新 CodeCommit 配管的詳細資訊,請參閱建立 CodeCommit 來源 (CLI) 的 EventBridge 規則。如需使用 CLI 建立或更新 Amazon S3 管道的詳細資訊,請參閱為 Amazon S3 來源 (CLI) 建立 EventBridge 規則。
編輯管道 (主控台)
您可以使用 CodePipeline 主控台來新增、編輯或移除管道中的階段,以及新增、編輯或移除階段中的動作。
當您更新管線時,會正 CodePipeline常地完成所有執行中的動作,然後將完成執行中動作的階段和管線執行失敗。管道更新後,您將需要重新執行管道。如需執行管線的詳細資訊,請參閱手動啟動管道。
編輯管道
-
請登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 http://console.aws.amazon.com/codesuite/codepipeline/home
。 會顯示與您 AWS 帳戶相關聯的所有管道名稱。
-
在 Name (名稱) 中,選擇您想編輯的管道名稱。這會開啟管道的詳細檢視,包含管道中各階段的每項動作之每項狀態。
-
在管道詳細資訊頁面上,選擇 Edit (編輯)。
-
若要編輯配管類型,請選擇 「編輯:配管屬性」卡上的「編輯」。選擇下列其中一個選項,然後選擇 [完成]。
-
V1 類型管道具有包含標準管道、階段和動作層級參數的 JSON 結構。
-
V2 類型管線與 V1 類型具有相同的結構,以及其他參數支援,例如觸發程序和管線層級變數。
管道類型的特性和價格不同。如需詳細資訊,請參閱 管線類型。
-
-
若要編輯管線變數,請在 [編輯:變數] 卡上選擇 [編輯變數]。新增或變更管線層級的變數,然後選擇「完成」。
如需管線層級變數的詳細資訊,請參閱Variables。如需在管線執行時傳送的管線層級變數的教學課程,請參閱。教學課程:使用管線層級變數
注意
雖然在管線層級新增變數是可選的,但對於在沒有提供值的管線層級使用變數指定的配管,管線執行將會失敗。
-
若要編輯管線觸發器,請選擇 [編輯:觸發器] 卡上的 [編輯觸發器]。新增或變更觸發器,然後選擇 [完成]。
如需新增觸發程式的詳細資訊,請參閱建立與 Bitbucket Cloud GitHub (版本 2)、 GitHub 企業伺服器、 GitLab .com 或 GitLab自我管理的連線的步驟,例如。GitHub 連接
-
若要編輯「編輯」頁面上的階段和動作,請執行下列其中一個動作:
-
若要編輯階段,請選擇 Edit stage (編輯階段)。您可以搭配現有動作以序列和平行的方式新增動作:
您也可選擇那些動作的編輯圖示以在此檢視中編輯動作。若要刪除動作,請在該動作上選擇刪除圖示。
-
若要編輯動作,請選擇該動作的編輯圖示,然後在 Edit action (編輯動作) 上變更值。有星號 (*) 標記的項目為必要項。
-
對於 CodeCommit 存放庫名稱和分支,會出現一則訊息,顯示要為此管道建立的 Amazon E CloudWatch vents 規則。如果您移除來 CodeCommit 源,會出現一則訊息,顯示要刪除的 Amazon CloudWatch 事件規則。
-
對於 Amazon S3 來源儲存貯體,會出現一則訊息,顯示要為此管道建立的 Amazon CloudWatch 事件規則和 AWS CloudTrail 追蹤。如果您移除 Amazon S3 來源,會出現一則訊息,顯示要刪除的 Amazon CloudWatch 活動規則和 AWS CloudTrail 追蹤。如果其他管線正在使用軌 AWS CloudTrail 跡,系統不會移除軌跡,而且會刪除資料事件。
-
-
若要新增階段,請在您想新增階段的管道中的點選擇 + Add stage (+ 新增階段)。提供該階段名稱,然後為其新增至少一個動作。有星號 (*) 標記的項目為必要項。
-
若要刪除階段,請在該階段上選擇刪除圖示。該階段與其所有動作都會被刪除。
-
若要設定階段在失敗時自動復原,請選擇 「編輯階段」,然後選擇「設定階段失敗時自動復原」核取方塊。
例如,如果您想在管道中的階段新增序列動作:
-
在您想要新增動作的階段中,選擇 Edit stage (編輯階段),然後選擇 + Add action group (+ 新增動作群組)。
-
在 Edit action (編輯動作) 的 Action name (動作名稱) 中輸入您的動作名稱。Action provider (動作供應商) 清單會依類別顯示供應商選項。尋找類別 (例如 Deploy (部署))。在類別下,選擇提供者 (例如,AWS CodeDeploy)。在「區域」中,選擇建立資源的「 AWS 區域」或您計劃建立資源的地區。[Re gion] 欄位會指定針對此動作類型和提供者類型建立 AWS 資源的位置。此欄位只會針對動作提供者為的動作顯示 AWS 服務。「區域」(Region) 欄位預設為與管線相同的「 AWS 區域」。
如需中動作需求的詳細資訊 CodePipeline,包括輸入與輸出人工因素的名稱及其使用方式,請參閱動作結構需求 CodePipeline。如需新增動作供應商以及針對每個供應商使用預設欄位的範例,請參閱建立管道 (主控台)。
若要將建置動作或測試動作新增 CodeBuild 至階段,請參閱使用CodeBuild 者指南中的 CodePipeline 搭配 CodeBuild 測試程式碼和執行組建。
注意
某些動作提供者 (例如) 會要求您連線至提供者的網站 GitHub,才能完成動作的設定。請務必在連線至供應商的網站時,使用該網站的登入資料。不要使用您的 AWS 憑據。
-
當您完成動作設定時,請選擇 Save (儲存)。
注意
您不能在主控台檢視中重新命名階段。您可以使用想變更的名稱來新增階段,然後刪除舊的。刪除舊動作之前,請務必確認您已在該階段中新增所有您要的動作。
-
-
當您完成管道編輯後,請選擇 Save (儲存) 以返回摘要頁面。
重要
儲存變更後,您將無法復原變更。您必須再次編輯管道。若您在儲存變更時,有修訂正在透過管道執行,則該執行不會完成。若您想要特定的遞交或變更透過編輯過的管道來執行,您必須透過管道手動執行之。否則,下一個遞交或變更將透過管道自動執行。
-
若要測試您的動作,請選擇 [發行變更] 以處理透過管線提交的通知,並將變更提交至管線的來源階段中指定的來源。或按照中的步驟手動啟動管道使用手動 AWS CLI 發行「變更」。
編輯管道 (AWS CLI)
您可以使用 update-pipeline 命令來編輯管道。
當您更新管線時,會正 CodePipeline 常地完成所有執行中的動作,然後將完成執行中動作的階段和管線執行失敗。管道更新後,您將需要重新執行管道。如需執行管線的詳細資訊,請參閱手動啟動管道。
重要
雖然您可以使用 AWS CLI 編輯包含合作夥伴動作的管道,但您不得手動編輯合作夥伴動作的 JSON。若您這麼做,該合作夥伴動作會在您更新管道後失敗。
編輯管道
-
開啟終端機工作階段 (Linux、macOS 或 Unix) 或命令提示字元 (Windows),然後執行get-pipeline指令,將管線結構複製到 JSON 檔案中。例如,針對名為
MyFirstPipeline
的管道輸入下列命令:aws codepipeline get-pipeline --name
MyFirstPipeline
>pipeline.json
此命令不會傳回任何內容,但您建立的檔案應該會顯示在您執行命令的目錄中。
-
以讓和純文字編輯器開啟 JSON 檔案,並修改該檔案的結構以反映您要在管道上進行的變更。例如,您可以新增或移除階段,或新增另一個動作至現有階段。
下列範例會示範如何在管線 .json 檔案中新增另一個部署階段。此階段將在第一個部署階段 (
Staging (預備)
) 後執行。注意
此僅為該檔案的一部分,而非整個結構。如需詳細資訊,請參閱 CodePipeline 配管結構參照。
, { "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 } ] }
, { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] }
] }如需有關使用 CLI 為管道新增核准動作的資訊,請參閱 將手動核准動作新增至中的管道 CodePipeline 。
請確認您 JSON 檔案中的
PollForSourceChanges
參數已如下所示進行設定:"PollForSourceChanges": "false",
CodePipeline 使用 Amazon CloudWatch 事件偵測 CodeCommit 來源儲存庫和分支機構或 Amazon S3 來源儲存貯體中的變更。下一步驟包括了手動建立這些資源的說明。將旗標設為
false
將停用定期檢查,在使用建議的變更偵測方法時,您不需要該項功能。 -
若要在與您的管道不同的區域中新增建置、測試或部署動作,您必須將以下項目新增到管道結構。如需詳細說明,請參閱 在中新增跨區域動作 CodePipeline。
-
將
Region
參數新增到動作的管道結構。 -
使用
artifactStores
參數,為您在其中具有動作的每個區域指定成品儲存貯體。
-
-
如果您使用的是使用 get-pipeline 命令擷取的管道結構,您必須在 JSON 檔案中修改結構。您必須從檔案移除
metadata
行,以讓 update-pipeline 命令可以使用它。從 JSON 檔案的管道結構移除此區段 ("metadata": { }
行以及"created"
、"pipelineARN"
和"updated"
欄位)。例如,從結構中移除下列幾行:
"metadata": { "pipelineArn": "arn:aws:codepipeline:
region
:account-ID
:pipeline-name
", "created": "date
", "updated": "date
" }儲存檔案。
-
如果您使用 CLI 編輯管道,您必須為管道手動管理建議的變更偵測資源:
-
對於 CodeCommit 存放庫,您必須建立 CloudWatch 事件規則,如中所述建立 CodeCommit 來源 (CLI) 的 EventBridge 規則。
-
對於 Amazon S3 來源,您必須建立 CloudWatch 事件規則和 AWS CloudTrail 追蹤,如中所述Amazon S3 來源動作和 EventBridge 使用 AWS CloudTrail。
-
-
若要套用您的變更,請執行 update-pipeline 命令、指定管道 JSON 檔案:
重要
請確認在檔案名稱之前包含
file://
。這是此命令必要項目。aws codepipeline update-pipeline --cli-input-json file://
pipeline.json
此命令會傳回所編輯管道的整個結構。
注意
update-pipeline 命令將終止管道。若在您執行 update-pipeline 命令時有修訂正在透過管道執行,該執行將停止。您必須手動啟動管道,以透過更新的管道執行該修訂。
-
打開 CodePipeline 控制台,然後選擇剛剛編輯的管道。
此管道會顯示您的變更。下次您變更來源位置時,管道會透過修訂過的管道結構來執行該修訂。
-
若要透過修訂的管道結構手動執行最新的修訂,請執行 start-pipeline-execution 命令。如需詳細資訊,請參閱 手動啟動管道。
有關管道結構和預期值的詳細資訊,請參閱CodePipeline 配管結構參照和 AWS CodePipeline API 參考。