使用预定义的变量 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用预定义的变量

预定义变量是键值对,由工作流程自动发出,可供您在工作流程操作中使用。

您可以在任何工作流程操作中使用预定义的变量。

引用预定义变量

按照以下说明引用预定义变量。

先决条件

确定要引用的预定义变量的名称,例如CommitId。有关更多信息,请参阅 确定您的工作流程会发出哪些预定义变量

Visual

不可用。选择 YAML 以查看 YAML 说明。

YAML
引用预定义变量(YAML 编辑器)
  1. 打开 CodeCatalyst 控制台,网址为 https://codecatalyst.aws/

  2. 选择您的项目。

  3. 在导航窗格中,选择 C I/CD,然后选择工作流程。

  4. 选择工作流程的名称。您可以按定义工作流程的源存储库或分支名称进行筛选,也可以按工作流程名称进行筛选。

  5. 选择编辑

  6. 选择 YAML。

  7. 在 CodeCatalyst 操作中,使用以下语法添加预定义的变量引用:

    ${action-group-name.action-name-or-WorkflowSource.variable-name}

    替换:

    • action-group-name用行动组的名字。

      注意

      action-group-name如果没有操作组,或者变量是由同一操作组中的操作生成的,则可以省略。

    • action-name-or-WorkflowSource 搭配:

      输出变量的操作的名称。

      或者

      WorkflowSource,如果变量是BranchNameCommitId变量。

    • 带有@@ 变量名称的变量名。

    例如:

    MySecondAction: Configuration: Steps: - Run: echo ${MyFirstECSAction.cluster}

    另一个示例是:

    MySecondAction: Configuration: Steps: - Run: echo ${WorkflowSource.CommitId}

    有关更多示例,请参阅预定义变量的示例。有关更多信息,工作流程 YAML 定义请参阅您的操作。

  8. (可选)选择 “验证” 以在提交之前验证工作流程的 YAML 代码。

  9. 选择 “提交”,输入提交消息,然后再次选择 “提交”。

确定您的工作流程会发出哪些预定义变量

您可以通过两种方式确定您的工作流程会发出哪些预定义变量:

注意

中列出了工作流程变量的最大总大小工作流程配额。如果总大小超过最大值,则在达到最大值之后执行的操作可能会失败。

预定义变量的示例

以下示例说明如何在工作流定义文件中引用预定义变量。

示例:引用 “CommitId” 预定义变量

以下示例向您展示了如何在MyBuildAction操作中引用CommitId预定义变量。CommitId变量由自动输出 CodeCatalyst。

尽管该示例显示了生成操作中使用的变量,但您可以在任何操作CommitId中使用。

MyBuildAction: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: #Build Docker image and tag it with a commit ID - Run: docker build -t image-repo/my-docker-image:latest . - Run: docker tag image-repo/my-docker-image:${WorkflowSource.CommitId}

示例:引用 “BranchName” 预定义变量

以下示例向您展示了如何在CDKDeploy操作中引用BranchName预定义变量。BranchName变量由自动输出 CodeCatalyst。

尽管该示例显示了AWS CDK 部署操作中使用的变量,但您可以在任何操作BranchName中使用。

CDKDeploy: Identifier: aws/cdk-deploy@v1 Inputs: Sources: - WorkflowSource Configuration: StackName: app-stack-${WorkflowSource.BranchName}