'AWS CDK 引導' 操作 YAML - Amazon CodeCatalyst

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

'AWS CDK 引導' 操作 YAML

以下是引AWS CDK 導操作的YAML定義。若要瞭解如何使用此動作,請參閱使用工作流程引導 AWS CDK 應用程序

此動作定義存在於更廣泛的工作流程定義檔案中的區段。如需有關此檔案的詳細資訊,請參閱工作流YAML定義

注意

接下來的大多數YAML屬性在可視化編輯器中都具有相應的 UI 元素。若要查詢 UI 元素,請使用 Ctrl+F。 元素將與其關聯的YAML屬性一起列示。

# The workflow definition starts here. # See 頂層屬性 for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. CDKBootstrapAction_nn: Identifier: aws/cdk-bootstrap@v2 DependsOn: - action-name Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Inputs: # Specify a source or an artifact, but not both. Sources: - source-name-1 Artifacts: - artifact-name Outputs: Artifacts: - Name: cdk_bootstrap_artifacts Files: - "cdk.out/**/*" Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Configuration: Region: us-west-2 CdkCliVersion: version

CDKBootstrapAction

(必要)

指定動作的名稱。所有動作名稱在工作流程中都必須是唯一的。動作名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (_)。不允許空格。您無法使用引號來啟用動作名稱中的特殊字元和空格。

預設:CDKBootstrapAction_nn

對應的 UI:組態索引標籤/動作顯示名稱

Identifier

(CDKBootstrapAction/Identifier)

(必要)

識別動作。除非您要變更版本,否則請勿變更此屬性。如需詳細資訊,請參閱指定要使用的動作版本

注意

指定aws/cdk-bootstrap@v2會導致動作在 2024 年 3 月映像上執行,其中包括更新的工具,例如 Node.js 18。指定aws/cdk-bootstrap@v1會導致動作在 2022 年 11 月映像上執行,其中包含較舊的工具,例如 Node.js 16。

預設:aws/cdk-bootstrap@v2

對應的使用者介面:工作流程圖/CDKBootstrapAction_nn/ aws/cd-啟動程式 @v2 標籤

DependsOn

(CDKBootstrapAction/DependsOn)

(選用)

指定必須成功執行的動作、動作群組或閘道,才能執行此動作。

如需「依賴」功能的詳細資訊,請參閱。排序動作

對應的用戶界面:輸入選項卡/取決於- 可選

Compute

(CDKBootstrapAction/Compute)

(選用)

用來執行工作流程動作的計算引擎。您可以在工作流程層級或動作層級指定計算,但不能同時指定兩者。在工作流程層級指定時,計算組態會套用至工作流程中定義的所有動作。在工作流程層級,您也可以在相同的執行個體上執行多個動作。如需詳細資訊,請參閱跨動作共用運算

對應的用戶界面:

Type

(CDKBootstrapAction/Compute/Type)

(如果包含Compute,則為必填)

運算引擎的類型。您可以使用下列其中一個值:

  • EC2(可視化編輯器)或EC2(YAML編輯器)

    優化了動作運行期間的靈活性。

  • Lambda(可視化編輯器)或Lambda(YAML編輯器)

    最佳化動作啟動速度。

如需運算類型的更多相關資訊,請參閱運算類型

對應的使用者介面:組態索引標籤/進階-選用/運算類型

Fleet

(CDKBootstrapAction/Compute/Fleet)

(選用)

指定將執行工作流程或工作流程動作的機器或叢集。對於隨需叢集,當動作開始時,工作流程會佈建所需的資源,並在動作完成時銷毀機器。隨選艦隊的範例:Linux.x86-64.LargeLinux.x86-64.XLarge。如需隨選叢集的詳細資訊,請參閱隨選叢集屬性

透過佈建的叢集,您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態,可立即處理動作。如需已佈建叢集的詳細資訊,請參閱佈建的叢集屬性

Fleet果省略,預設值為Linux.x86-64.Large

對應的使用者介面:組態索引標籤/進階-選用/運算叢集

Timeout

(CDKBootstrapAction/Timeout)

(必要)

指定動作在 CodeCatalyst 結束動作之前可執行的時間長度 (以分鐘為單位) 或小時和分鐘 (視覺化編輯器)。YAML最小值為 5 分鐘,最大值在中說明中工作流程的配額 CodeCatalyst。預設逾時與逾時上限相同。

對應的 UI:配置選項卡/超時- 可選

Inputs

(CDKBootstrapAction/Inputs)

(選用)

Inputs本節定義AWS CDK 啟動程序動作在工作流程執行期間所需的資料。

對應的 UI:輸入索引標籤

注意

每個AWS CDK 啟動程序動作只允許一個輸入 (來源或成品)。

Sources

(CDKBootstrapAction/Inputs/Sources)

(如果您的 AWS CDK 應用程序存儲在源存儲庫中,則需要)

如果您的 AWS CDK 應用程序存儲在源存儲庫中,請指定該源存儲庫的標籤。在啟動AWS CDK 引導過程之前,引導操作會在此存儲庫中合成應用程序。目前,唯一支援的存放庫標籤為WorkflowSource

如果您的 AWS CDK 應用程序不包含在源存儲庫中,則它必須位於由另一個操作生成的成品中。

如需來源的詳細資訊,請參閱 將來源儲存庫連線至工作

對應的 UI:輸入選項卡/源- 可選

Artifacts - input

(CDKBootstrapAction/Inputs/Artifacts)

(如果您的 AWS CDK 應用程序存儲在上一個操作的輸出成品中,則需要)

如果您的 AWS CDK 應用程序包含在上一個操作生成的成品中,請在此處指定該成品。啟動程AWS CDK 序動作會在開始啟動載入程序之前,將指定成品中的應用程式合成為 CloudFormation 範本。如果您的 AWS CDK 應用程序不包含在成品中,則它必須位於源存儲庫中。

如需人工因素的詳細資訊 (包括範例),請參閱在動作之間共用成品和檔案

對應的 UI:輸入選項卡/加工品- 可選

Outputs

(CDKBootstrapAction/Outputs)

(選用)

定義在工作流程執行期間由動作輸出的資料。

對應的 UI:輸出索引標籤

Artifacts - output

(CDKBootstrapAction/Outputs/Artifacts)

(選用)

指定動作產生的人工因素。您可以參考這些成品做為其他動作中的輸入。

如需人工因素的詳細資訊 (包括範例),請參閱在動作之間共用成品和檔案

對應的 UI:輸出選項卡/成品

Name

(CDKBootstrapAction/Outputs/Artifacts/Name)

(如果包含Artifacts - output,則為必填)

指定成品的名稱,該成品將包含由AWS CDK 啟動程序動作在執行時期合成的 AWS CloudFormation 範本。預設值為 cdk_bootstrap_artifacts。如果您未指定成品,則動作會合成該範本,但不會將其儲存在成品中。請考慮將合成的範本儲存在成品中,以保留其記錄,以供測試或疑難排解之用。

對應的使用者介面:輸出索引標籤/人工因素/新增人工因素名稱

Files

(CDKBootstrapAction/Outputs/Artifacts/Files)

(如果包含Artifacts - output,則為必填)

指定要包含在人工因素中的檔案。您必須指"cdk.out/**/*"定包含 AWS CDK 應用程序的綜合 AWS CloudFormation 模板。

注意

cdk.out是儲存合成檔案的預設目錄。如果您在cdk.json檔案中指定了輸出目錄以外cdk.out的目錄,請在此處指定該目錄,而不是cdk.out

對應的 UI:輸出選項卡/人造物/添加人造物/構建生成的文件

Environment

(CDKBootstrapAction/Environment)

(必要)

指定要與動作搭配使用的 CodeCatalyst 環境。該動作連接到所選環境中VPC指定的 AWS 帳戶 和可選的 Amazon。該動作使用環境中指定的預設IAM角色連接到 AWS 帳戶,並使用 Amazon VPC 連接中指定的IAM角色連接到 Amazon VPC。

注意

如果預設IAM角色沒有動作所需的權限,您可以將動作配置為使用其他角色。如需詳細資訊,請參閱變更動IAM作的角色

若要取得有關環境的更多資訊,請參閱部署到 AWS 帳戶 和 VPCs建立環境

對應的 UI:配置選項卡/環境

Name

(CDKBootstrapAction/Environment/Name)

(如果包含Environment,則為必填)

指定您要與動作相關聯的現有環境名稱。

對應的 UI:配置選項卡/環境

Connections

(CDKBootstrapAction/Environment/Connections)

(在較新版本的動作中為選用項目;舊版本為必要)

指定要與動作相關聯的帳號連線。您最多可以在下指定一個帳戶連線Environment

如果您未指定帳戶連線:

  • 此動作會使用在 CodeCatalyst 主控台環境中指定的 AWS 帳戶 連線和預設IAM角色。如需將帳戶連線和預設IAM角色新增至環境的資訊,請參閱建立環境

  • 預設IAM角色必須包含動作所需的原則和權限。若要判斷這些原則和權限是什麼,請參閱動作的YAML定義文件中角色屬性的說明。

如需有關帳戶連線的詳細資訊,請參閱允許存取已連線的 AWS 資源 AWS 帳戶。如需將帳戶連線新增至環境的資訊,請參閱建立環境

對應的使用者介面:下列其中一項視動作版本而定:

  • (較新版本)配置選項卡/環境/中有什麼 my-environment? /三點菜單/切換角色

  • (舊版本)配置選項卡/「環境/帳戶/角色」/帳AWS 戶連接

Name

(CDKBootstrapAction/Environment/Connections/Name)

(如果包含Connections,則為必填)

指定帳戶連線的名稱。

對應的使用者介面:下列其中一項視動作版本而定:

  • (較新版本)配置選項卡/環境/中有什麼 my-environment? /三點菜單/切換角色

  • (舊版本)配置選項卡/「環境/帳戶/角色」/帳AWS 戶連接

Role

(CDKBootstrapAction/Environment/Connections/Role)

(如果包含Connections,則為必填)

指定AWS CDK 啟動程序動作用來存取 AWS 和新增啟動程序堆疊的IAM角色名稱。請確定您已將角色新增至您的 CodeCatalyst 空間,且該角色包含下列原則。

如果您未指定IAM角色,則動作會使用主 CodeCatalyst 控台環境中列出的預設IAM角色。如果您在環境中使用預設角色,請確定其具有下列原則。

注意

下列權限原則中顯示的權限是cdk bootstrap指令在撰寫本文時執行其啟動載入所需的權限。如果更改其引導命令,這些權限可能會更改。 AWS CDK

警告

僅將此角色與AWS CDK 啟動程序動作搭配使用。這是非常寬鬆的,並且將其與其他操作一起使用可能會造成安全風險。

  • 下列權限原則:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:GetRole", "ssm:GetParameterHistory", "ecr:PutImageScanningConfiguration", "cloudformation:*", "iam:CreateRole", "iam:AttachRolePolicy", "ssm:GetParameters", "iam:PutRolePolicy", "ssm:GetParameter", "ssm:DeleteParameters", "ecr:DeleteRepository", "ssm:PutParameter", "ssm:DeleteParameter", "iam:PassRole", "ecr:SetRepositoryPolicy", "ssm:GetParametersByPath", "ecr:DescribeRepositories", "ecr:GetLifecyclePolicy" ], "Resource": [ "arn:aws:ssm:aws-region:aws-account:parameter/cdk-bootstrap/*", "arn:aws:cloudformation:aws-region:aws-account:stack/CDKToolkit/*", "arn:aws:ecr:aws-region:aws-account:repository/cdk-*", "arn:aws:iam::aws-account:role/cdk-*" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "cloudformation:RegisterType", "cloudformation:CreateUploadBucket", "cloudformation:ListExports", "cloudformation:DescribeStackDriftDetectionStatus", "cloudformation:SetTypeDefaultVersion", "cloudformation:RegisterPublisher", "cloudformation:ActivateType", "cloudformation:ListTypes", "cloudformation:DeactivateType", "cloudformation:SetTypeConfiguration", "cloudformation:DeregisterType", "cloudformation:ListTypeRegistrations", "cloudformation:EstimateTemplateCost", "cloudformation:DescribeAccountLimits", "cloudformation:BatchDescribeTypeConfigurations", "cloudformation:CreateStackSet", "cloudformation:ListStacks", "cloudformation:DescribeType", "cloudformation:ListImports", "s3:*", "cloudformation:PublishType", "ecr:CreateRepository", "cloudformation:DescribePublisher", "cloudformation:DescribeTypeRegistration", "cloudformation:TestType", "cloudformation:ValidateTemplate", "cloudformation:ListTypeVersions" ], "Resource": "*" } ] }
    注意

    第一次使用角色時,請在資源策略陳述式中使用下列萬用字元,然後在可用資源名稱之後將策略範圍縮小。

    "Resource": "*"
  • 下列自訂信任原則:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
注意

您可以視需要使用此動作的CodeCatalystWorkflowDevelopmentRole-spaceName角色。如需有關此角色的詳細資訊,請參閱 為您的帳戶和空間建立CodeCatalystWorkflowDevelopmentRole-spaceName角色。瞭解CodeCatalystWorkflowDevelopmentRole-spaceName角色具有可能造成安全風險的完整存取權限。我們建議您只在不太擔心安全性的教學課程和案例中使用此角色。

對應的使用者介面:下列其中一項視動作版本而定:

  • (較新版本)配置選項卡/環境/中有什麼 my-environment? /三點菜單/切換角色

  • (舊版) 組態索引標籤/「環境/帳戶/角色」/「角色」

Configuration

(CDKBootstrapAction/Configuration)

(必要)

您可以在其中定義動作的組態屬性的區段。

對應的 UI:組態索引標籤

Region

(CDKBootstrapAction/Configuration/Region)

(必要)

指定 AWS 區域 將部署啟動程序堆疊的目標。此區域應與部署應 AWS CDK 用程式的區域相符。如需區域代碼的清單,請參閱區域端點

對應的 UI:組態索引標籤/區域

CdkCliVersion

(CDKBootstrapAction/Configuration/CdkCliVersion)

(選用)

此屬性適用於AWS CDK 部署動作的 1.0.13 版或更新版本,以及啟動程序動作的 1.0.8 版或更新版本AWS CDK 。

請指定下列其中一項:

  • 您希望此動作使用的 AWS Cloud Development Kit (AWS CDK) 指令行介面 (CLI) (也稱為 AWS CDK 工具組) 的完整版本。範例:2.102.1。請考慮指定完整版本,以確保建置和部署應用程式時的一致性和穩定性。

  • latest。 請考慮指latest定以利用的最新功能和修正程式CDKCLI。

此動作會將指定版本 (或最新版本) 下載 AWS CDK CLI至 CodeCatalyst 組建映像檔,然後使用此版本執行部署CDK應用程式或啟動 AWS 環境所需的命令。

如需可使用的受支援CDKCLI版本清單,請參閱AWS CDK 版本

如果您省略此屬性,動作會使用下列其中一個主題中所述的預設 AWS CDK CLI版本:

對應的 UI:配置選項卡/AWS CDK CLI版本