本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定或變更管道執行模式
您可以設定管道的執行模式,以指定處理多個執行的方式。
如需管道執行模式的詳細資訊,請參閱 管道執行的運作方式。
重要
對於處於 PARALLEL 模式的管道,在將管道執行模式編輯為 QUEUED或 時SUPERSEDED,管道狀態不會顯示更新的狀態為 PARALLEL。如需詳細資訊,請參閱從 PARALLEL 模式變更的管道會顯示先前的執行模式。
重要
對於處於 PARALLEL 模式的管道,在將管道執行模式編輯為 QUEUED或 時SUPERSEDED,不會更新每個模式中管道的管道定義。如需詳細資訊,請參閱如果在變更為 QUEUED或 PARALLEL 模式時編輯過時的管道定義,則SUPERSEDED處於 模式的管道具有過時的管道定義。
檢視執行模式的考量
在特定執行模式下檢視管道有考量事項。
對於 SUPERSEDED和 QUEUED 模式,使用管道檢視來查看進行中執行,然後按一下執行 ID 來檢視詳細資訊和歷史記錄。對於 PARALLEL 模式,按一下執行 ID,在視覺化索引標籤上檢視進行中執行。
下列顯示 中SUPERSEDED模式的檢視 CodePipeline。
以下顯示 中QUEUED模式的檢視 CodePipeline。
以下顯示 中PARALLEL模式的檢視 CodePipeline。
在執行模式之間切換的考量
以下是變更管道模式時的管道考量事項。在編輯模式下從一個執行模式切換到另一個執行模式,然後儲存變更時,某些檢視或狀態可能會調整。
例如,從 PARALLEL 模式切換到 QUEUED或 SUPERSEDED 模式時,以 PARALLEL 模式開始的執行會繼續執行。您可以在執行歷史記錄頁面上檢視這些項目。管道檢視會顯示稍早在 QUEUED或 SUPERSEDED 模式上執行的執行,否則會顯示空白狀態。
另一個範例是,從 QUEUED或 切換SUPERSEDED到 PARALLEL 模式時,您將不再看到管道檢視/狀態頁面。若要在 PARALLEL 模式下檢視執行,請使用執行詳細資訊頁面上的視覺化索引標籤。以 SUPERSEDED或 QUEUED 模式啟動的執行將會取消。
下表提供更多詳細資訊。
模式變更 | 待定和作用中執行詳細資訊 | 管道狀態詳細資訊 |
---|---|---|
SUPERSEDED 至 SUPERSEDED / SUPERSEDED至 QUEUED |
|
管道狀態,例如已取消的 ,會保留在第一個模式和第二個模式的版本之間。 |
QUEUED 至 QUEUED / QUEUED至 SUPERSEDED |
|
管道狀態,例如已取消,會保留在第一個模式和第二個模式的版本之間。 |
PARALLEL 至 PARALLEL |
所有執行都允許獨立於管道定義更新執行。 |
空白。平行模式沒有管道狀態。 |
SUPERSEDED 至 PARALLEL / QUEUED至 PARALLEL |
|
空白。平行模式沒有管道狀態。 |
設定或變更管道執行模式 (主控台)
您可以使用 主控台來設定管道執行模式。
-
登入 AWS Management Console 並在 https://http://console.aws.amazon.com/codesuite/codepipeline/home
開啟 CodePipeline 主控台。 與 AWS 您的帳戶相關聯的所有管道的名稱和狀態都會顯示。
-
在 Name (名稱) 中,選擇您想編輯的管道名稱。
-
在管道詳細資訊頁面上,選擇 Edit (編輯)。
-
在編輯頁面上,選擇編輯:管道屬性 。
-
選擇管道的 模式。
-
已取代
-
已佇列 (需要管道類型 V2)
-
平行 (需要管道類型 V2)
-
-
在編輯頁面上,選擇完成。
設定管道執行模式 (CLI)
若要使用 AWS CLI 設定管道執行模式,請使用 create-pipeline
或 update-pipeline
命令。
-
開啟終端機工作階段 (Linux、macOS 或 Unix) 或命令提示字元 (Windows),然後執行 get-pipeline命令以將管道結構複製到 JSON 檔案。例如,針對名為
MyFirstPipeline
的管道輸入下列命令:aws codepipeline get-pipeline --name
MyFirstPipeline
>pipeline.json
此命令不會傳回任何內容,但您建立的檔案應該會顯示在您執行命令的目錄中。
-
在任何純文字編輯器中開啟JSON檔案,並修改檔案的結構,以反映您要設定的管道執行模式,例如 QUEUED。
"executionMode": "QUEUED"
下列範例示範如何在具有兩個階段的範例管道QUEUED中將執行模式設定為 。
{ "pipeline": { "name": "MyPipeline", "roleArn": "arn:aws:iam::111122223333:role/service-role/AWSCodePipelineServiceRole-us-east-1-dkpippe", "artifactStore": { "type": "S3", "location": "
bucket
" }, "stages": [ { "name": "Source", "actions": [ { "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "OutputArtifactFormat": "CODE_ZIP", "PollForSourceChanges": "true", "RepositoryName": "MyDemoRepo" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "inputArtifacts": [], "region": "us-east-1", "namespace": "SourceVariables" } ] }, { "name": "Build", "actions": [ { "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "provider": "CodeBuild", "version": "1" }, "runOrder": 1, "configuration": { "ProjectName": "MyBuildProject" }, "outputArtifacts": [ { "name": "BuildArtifact" } ], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "BuildVariables" } ] } ], "version": 1, "executionMode": "QUEUED" } } -
如果您正在使用使用 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
" }儲存檔案。
-
若要套用變更,請執行 update-pipeline命令,指定管道JSON檔案:
重要
請確認在檔案名稱之前包含
file://
。這是此命令必要項目。aws codepipeline update-pipeline --cli-input-json file://
pipeline.json
此命令會傳回所編輯管道的整個結構。
注意
update-pipeline 命令將終止管道。若在您執行 update-pipeline 命令時有修訂正在透過管道執行,該執行將停止。您必須手動啟動管道,以透過更新的管道執行該修訂。