在中查看执行情况 CodePipeline - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中查看执行情况 CodePipeline

您可以使用 Amazon CodePipeline 控制台或查看执行状态、查看执行历史记录以及重试失败的阶段或操作。 Amazon CLI

查看管道执行历史记录(控制台)

您可以使用 CodePipeline 控制台查看账户中所有管道的列表。还可以查看每个管道的详细信息,包括管道中最后一次运行操作的时间,阶段之间的过渡是启用还是禁用,是否有任何操作失败以及其他信息。您还可以查看历史记录页面,其中显示已记录历史记录的所有管道执行的详细信息。

注意

在特定的执行模式之间切换时,管道视图和历史记录可能会发生变化。有关更多信息,请参阅 设置或更改管道执行模式

执行历史记录保留长达 12 个月。

您可以使用控制台查看管道中的执行历史记录,包括每次执行的状态、源修订和时间详细信息。

  1. 登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 http://console.aws.amazon.com/codesuite/codepipeline/home

    将显示与您的 Amazon 账户关联的所有管道的名称及其状态。

  2. 名称中,选择管道的名称。

  3. 选择 View history (查看历史记录)

    注意

    对于处于PARALLEL执行模式的管道,主管道视图不显示管道结构或正在进行的执行。对于处于PARALLEL执行模式的管道,您可以通过从执行历史记录页面选择要查看的执行的 ID 来访问管道结构。在左侧导航栏中选择 “历史记录”,选择并行执行的执行 ID,然后在 “可视化” 选项卡上查看管道。

    管道列表的控制台视图显示了每个管道的名称、状态、类型和最近的执行。
  4. 查看与管道的每次执行相关的状态、源修订、更改详细信息和触发器。已回滚的管道执行将在控制台的详细信息屏幕上显示执行类型 Rollbac k。对于触发自动回滚的失败执行,将显示失败的执行 ID。

  5. 选择一个执行。详细信息视图显示执行详细信息、时间表选项卡、可视化选项卡和变量选项卡。管道级别变量的值在管道执行时进行解析,可以在每个执行的执行历史记录中查看。

    注意

    对于管道操作的输出变量,可以在每个操作执行的历史记录下方的输出变量选项卡上查看。

查看执行状态(控制台)

您可以在执行历史记录页面上的 Status (状态) 中查看管道状态。选择一个执行 ID 链接,然后查看操作状态。

以下是管道、阶段和操作的有效状态:

注意

以下管道状态也适用于属于入站执行的管道执行。要查看入站执行及其状态,请参阅查看入站执行(控制台)

管道级别状态
管道状态 描述
InProgress 当前正在运行管道执行。
Stopping 由于发出了停止并等待或停止并放弃管道执行的请求,管道执行正在停止。
Stopped(已停止) 停止过程已完成,管道执行已停止。
成功 已成功完成管道执行。
已取代 在该管道执行等待完成下一阶段时,启动了较新的管道执行并通过管道。
失败 未成功完成管道执行。
阶段级别状态
阶段状态 描述
InProgress 当前正在运行阶段。
Stopping 由于发出了停止并等待或停止并放弃管道执行的请求,阶段执行正在停止。
Stopped(已停止) 停止过程已完成,阶段执行已停止。
成功 已成功完成阶段。
失败 阶段未成功完成。
操作级别权限
操作状态 描述
InProgress 当前正在运行操作。
已放弃 由于发出了停止并放弃管道执行的请求,已放弃操作。
成功 已成功完成操作。
失败 对于批准操作,该FAILED状态表示该操作要么被审阅者拒绝,要么由于操作配置不正确而失败。

查看入站执行(控制台)

您可以使用控制台查看入站执行的状态和详细信息。在启用转换或阶段变为可用后,InProgress 状态的入站执行将会继续并进入该阶段。状态为 Stopped 的入站执行不会进入该阶段。如果对管道进行编辑,则入站执行状态将更改为 Failed。编辑管道时,所有进行中的执行都不会继续进行,执行状态将更改为 Failed

如果未看到入站执行,说明禁用的阶段转换中没有待处理的执行。

  1. 登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 http://console.aws.amazon.com/codesuite/codepipeline/home

    将显示与您的 Amazon 账户关联的所有管道的名称。

  2. 选择要查看入站执行的管道的名称,执行以下任一操作:

    • 选择 查看。在管道图中,在禁用转换前的入站执行 ID 字段中,您可以查看入站执行 ID。

      可以在执行历史记录页面上查看有关修订的信息

      选择查看摘要以查看执行详细信息,如执行 ID、源触发器和下一阶段的名称。

    • 选择管道并选择查看历史记录

查看管道执行源修订(控制台)

您可以查看在管道执行过程中使用的源构件(在管道的第一阶段产生的输出构件)的详细信息。详细信息包括标识符,例如提交IDs、签入注释以及管道构建操作的版本CLI号(当您使用时)。对于某些修订类型,您可以查看和打开提交的版本。URL源修订由以下内容组成:

  • 摘要:有关构件最新修订的摘要信息。对于 GitHub 和 CodeCommit 存储库,则为提交消息。对于 Amazon S3 存储桶或操作,在对象元数据中指定的用户提供的 codepipeline-artifact-revision-summary 密钥内容。

  • revisionUrl:构件修订版URL(例如,外部存储库URL)的修订版。

  • revisionId:构件修订版的修订版 ID。例如,对于 CodeCommit 或 GitHub 存储库中的源代码更改,这是提交 ID。对于存储在 GitHub 或存储 CodeCommit 库中的项目,提交 ID 链接到提交详细信息页面。

  1. 登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 http://console.aws.amazon.com/codesuite/codepipeline/home

    此时将显示所有与您的 Amazon Web Services 账户关联的管道的名称。

  2. 选择您要查看源修订详细信息的管道的名称。请执行以下操作之一:

    • 选择 View history (查看历史记录)。在 Source revisions (源修订) 中,将列出每次执行的源更改。

    • 查找您要查看源修订详细信息的操作,然后在其阶段的底部找到修订信息:

      有关修订的信息可以在 CodePipeline 控制台的底部查看。

      选择 View current revisions (查看当前修订) 以查看源信息。除存储在 Amazon S3 存储桶中的项目外,此信息详细信息视图IDs中的提交等标识符都链接到项目的源信息页面。

      查看源修订。

查看操作执行(控制台)

您可以查看管道的操作详细信息,例如操作执行 ID、输入构件、输出构件和状态。您可以通过在控制台中选择管道,然后选择执行 ID 来查看操作详细信息。

  1. 登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 http://console.aws.amazon.com/codesuite/codepipeline/home

    将显示与您的 Amazon 账户关联的所有管道的名称。

  2. 选择要查看其操作详细信息的管道的名称,然后选择 View history (查看历史记录)

  3. Execution ID (执行 ID) 中,选择要查看其操作执行详细信息的执行 ID。

  4. 您可以在 Timeline (时间线) 选项卡上查看以下信息:

    1. Action name (操作名称) 中,选择链接以打开操作的详细信息页面,您可以在其中查看状态、阶段名称、操作名称、配置数据和构件信息。

    2. Provider (提供程序) 中,选择链接以查看操作提供程序详细信息。例如,在前面的示例管道 CodeDeploy 中,如果您选择暂存阶段或生产阶段,则会显示为该阶段配置的 CodeDeploy 应用程序的 CodeDeploy控制台页面。

查看操作构件和构件存储信息(控制台)

您可以查看操作的输入和输出构件详细信息。您还可以选择一个链接,将您带到该操作的构件信息。由于构件存储使用版本控制,因此每个操作执行都具有唯一的输入和输出构件位置。

  1. 登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 http://console.aws.amazon.com/codesuite/codepipeline/home

    将显示与您的 Amazon 账户关联的所有管道的名称。

  2. 选择要查看其操作详细信息的管道的名称,然后选择 View history (查看历史记录)

  3. Execution ID (执行 ID) 中,选择要查看其操作详细信息的执行 ID。

  4. Timeline (时间线) 选项卡上的 Action name (操作名称) 中,选择用于打开操作详细信息页面的链接。

  5. 在详细信息页面上的执行中,查看执行操作的状态和时间。

  6. 配置选项卡上,查看操作的资源配置(例如, CodeBuild 生成项目名称)。

  7. 构件中,查看构件类型构件提供程序中的构件详细信息。选择 Artifact name (构件名称) 下的链接,以查看构件存储中的构件。

  8. 输出变量选项卡上,查看从操作执行管道中的操作解析的变量。

查看管道详细信息和历史记录 (CLI)

您可以运行以下命令,以查看您的管道和管道执行的详细信息:

  • list-pipelines命令查看与您的关联的所有管道的摘要 Amazon Web Services 账户。

  • get-pipeline 命令,用于查看单个管道的详细信息。

  • list-pipeline-executions,用于查看管道的最近执行的摘要。

  • get-pipeline-execution 用于查看有关管道执行的信息,包括有关构件的详细信息、管道执行 ID 以及管道的名称、版本和状态。

  • get-pipeline-state 命令用于查看管道、阶段和操作状态。

  • list-action-executions 用于查看管道的操作执行详细信息。

使用 list-pipeline-executions (CLI) 查看执行历史记录

您可以查看管道执行历史记录。

  • 要查看管道的过去执行的详细信息,请运行 list-pipeline-executions 命令,指定管道的唯一名称。例如,要查看有关名为的管道当前状态的详细信息 MyFirstPipeline,输入以下内容:

    aws codepipeline list-pipeline-executions --pipeline-name MyFirstPipeline

    此命令返回有关已记录其历史记录的所有管道执行的摘要信息。摘要包括开始和结束时间、持续时间和状态。

    已回滚的管道执行将显示执行类型Rollback。对于触发自动回滚的失败执行,将显示失败的执行 ID。

    以下示例显示了名为的管道的返回数据 MyFirstPipeline 那已经有三人被处决:

    { "pipelineExecutionSummaries": [ { "pipelineExecutionId": "eb7ebd36-353a-4551-90dc-18ca5EXAMPLE", "status": "Succeeded", "startTime": "2024-04-16T09:00:28.185000+00:00", "lastUpdateTime": "2024-04-16T09:00:29.665000+00:00", "sourceRevisions": [ { "actionName": "Source", "revisionId": "revision_ID", "revisionSummary": "Added README.txt", "revisionUrl": "console-URL" } ], "trigger": { "triggerType": "StartPipelineExecution", "triggerDetail": "trigger_ARN" }, "executionMode": "SUPERSEDED" }, { "pipelineExecutionId": "fcd61d8b-4532-4384-9da1-2aca1EXAMPLE", "status": "Succeeded", "startTime": "2024-04-16T08:58:56.601000+00:00", "lastUpdateTime": "2024-04-16T08:59:04.274000+00:00", "sourceRevisions": [ { "actionName": "Source", "revisionId": "revision_ID", "revisionSummary": "Added README.txt", "revisionUrl": "console_URL" } ], "trigger": { "triggerType": "StartPipelineExecution", "triggerDetail": "trigger_ARN" }, "executionMode": "SUPERSEDED" }

    要查看管道执行的更多详细信息,请运行 get-pipeline-execution,指定管道执行的唯一 ID。例如,要查看上一示例中第一次执行的更多详细信息,请输入以下内容:

    aws codepipeline get-pipeline-execution --pipeline-name MyFirstPipeline --pipeline-execution-id 7cf7f7cb-3137-539g-j458-d7eu3EXAMPLE

    该命令会返回有关管道执行的摘要信息,包括项目的详细信息、管道执行 ID 以及管道的名称、版本和状态。

    以下示例显示了名为的管道的返回数据 MyFirstPipeline:

    { "pipelineExecution": { "pipelineExecutionId": "3137f7cb-7cf7-039j-s83l-d7eu3EXAMPLE", "pipelineVersion": 2, "pipelineName": "MyFirstPipeline", "status": "Succeeded", "artifactRevisions": [ { "created": 1496380678.648, "revisionChangeIdentifier": "1496380258.243", "revisionId": "7636d59f3c461cEXAMPLE8417dbc6371", "name": "MyApp", "revisionSummary": "Updating the application for feature 12-4820" } ] } }

使用 get-pipeline-state (CLI) 查看管道状态

您可以使用CLI来查看管道、阶段和操作状态。

  • 要查看管道的当前状态的详细信息,请运行 get-pipeline-state 命令,指定管道的唯一名称。例如,要查看有关名为的管道当前状态的详细信息 MyFirstPipeline,输入以下内容:

    aws codepipeline get-pipeline-state --name MyFirstPipeline

    该命令会返回管道所有阶段的当前状态以及这些阶段中操作的状态。

    以下示例显示名为的三阶段管道的返回数据 MyFirstPipeline,其中前两个阶段和操作显示成功,第三个阶段显示失败,第二阶段和第三阶段之间的过渡被禁用:

    { "updated": 1427245911.525, "created": 1427245911.525, "pipelineVersion": 1, "pipelineName": "MyFirstPipeline", "stageStates": [ { "actionStates": [ { "actionName": "Source", "entityUrl": "https://console.aws.amazon.com/s3/home?#", "latestExecution": { "status": "Succeeded", "lastStatusChange": 1427298837.768 } } ], "stageName": "Source" }, { "actionStates": [ { "actionName": "Deploy-CodeDeploy-Application", "entityUrl": "https://console.aws.amazon.com/codedeploy/home?#", "latestExecution": { "status": "Succeeded", "lastStatusChange": 1427298939.456, "externalExecutionUrl": "https://console.aws.amazon.com/?#", "externalExecutionId": ""c53dbd42-This-Is-An-Example"", "summary": "Deployment Succeeded" } } ], "inboundTransitionState": { "enabled": true }, "stageName": "Staging" }, { "actionStates": [ { "actionName": "Deploy-Second-Deployment", "entityUrl": "https://console.aws.amazon.com/codedeploy/home?#", "latestExecution": { "status": "Failed", "errorDetails": { "message": "Deployment Group is already deploying deployment ...", "code": "JobFailed" }, "lastStatusChange": 1427246155.648 } } ], "inboundTransitionState": { "disabledReason": "Disabled while I investigate the failure", "enabled": false, "lastChangedAt": 1427246517.847, "lastChangedBy": "arn:aws:iam::80398EXAMPLE:user/CodePipelineUser" }, "stageName": "Production" } ] }

使用 get-pipeline-state (CLI) 查看入站执行状态

您可以使用CLI来查看入站执行状态。在启用转换或阶段变为可用后,InProgress 状态的入站执行将会继续并进入该阶段。状态为 Stopped 的入站执行不会进入该阶段。如果对管道进行编辑,则入站执行状态将更改为 Failed。编辑管道时,所有进行中的执行都不会继续进行,执行状态将更改为 Failed

  • 要查看管道的当前状态的详细信息,请运行 get-pipeline-state 命令,指定管道的唯一名称。例如,要查看有关名为的管道当前状态的详细信息 MyFirstPipeline,输入以下内容:

    aws codepipeline get-pipeline-state --name MyFirstPipeline

    该命令会返回管道所有阶段的当前状态以及这些阶段中操作的状态。输出中还会显示每个阶段中的管道执行 ID,以及禁用转换的阶段是否有入站执行 ID。

    以下示例显示了名为的两阶段管道的返回数据 MyFirstPipeline,其中第一阶段显示已启用的过渡和成功的管道执行,第二阶段名为Beta显示已禁用的过渡和入站执行 ID。入站执行状态可以是 InProgressStoppedFAILED

    { "pipelineName": "MyFirstPipeline", "pipelineVersion": 2, "stageStates": [ { "stageName": "Source", "inboundTransitionState": { "enabled": true }, "actionStates": [ { "actionName": "SourceAction", "currentRevision": { "revisionId": "PARcnxX_u0SMRBnKh83pHL09.zPRLLMu" }, "latestExecution": { "actionExecutionId": "14c8b311-0e34-4bda-EXAMPLE", "status": "Succeeded", "summary": "Amazon S3 version id: PARcnxX_u0EXAMPLE", "lastStatusChange": 1586273484.137, "externalExecutionId": "PARcnxX_u0EXAMPLE" }, "entityUrl": "https://console.aws.amazon.com/s3/home?#" } ], "latestExecution": { "pipelineExecutionId": "27a47e06-6644-42aa-EXAMPLE", "status": "Succeeded" } }, { "stageName": "Beta", "inboundExecution": { "pipelineExecutionId": "27a47e06-6644-42aa-958a-EXAMPLE", "status": "InProgress" }, "inboundTransitionState": { "enabled": false, "lastChangedBy": "USER_ARN", "lastChangedAt": 1586273583.949, "disabledReason": "disabled" }, "currentRevision": { "actionStates": [ { "actionName": "BetaAction", "latestExecution": { "actionExecutionId": "a748f4bf-0b52-4024-98cf-EXAMPLE", "status": "Succeeded", "summary": "Deployment Succeeded", "lastStatusChange": 1586272707.343, "externalExecutionId": "d-KFGF3EXAMPLE", "externalExecutionUrl": "https://us-west-2.console.aws.amazon.com/codedeploy/home?#/deployments/d-KFGF3WTS2" }, "entityUrl": "https://us-west-2.console.aws.amazon.com/codedeploy/home?#/applications/my-application" } ], "latestExecution": { "pipelineExecutionId": "f6bf1671-d706-4b28-EXAMPLE", "status": "Succeeded" } } ], "created": 1585622700.512, "updated": 1586273472.662 }

使用 get-pipeline-execution (CLI) 查看状态和源代码修订版

您可以查看在管道执行过程中使用的源构件(在管道的第一阶段产生的输出构件)的详细信息。详细信息包括标识符,例如提交IDs、签入备注、自创建或更新构件以来的时间,以及生成操作的版本号(当您使用时)。CLI对于某些修订类型,您可以查看和打开构件版本URL的提交。源修订由以下内容组成:

  • 摘要:有关构件最新修订的摘要信息。对于 GitHub 和 Amazon CodeCommit 存储库,则为提交消息。对于 Amazon S3 存储桶或操作,在对象元数据中指定的用户提供的 codepipeline-artifact-revision-summary 密钥内容。

  • revisionUrl: 构件修订版的提交 ID。对于存储在 GitHub 或存储 Amazon CodeCommit 库中的项目,提交 ID 链接到提交详细信息页面。

您可以运行 get-pipeline-execution 命令来查看有关管道执行中包含的最新源修订的信息。首次运行 get-pipeline-state 命令以获取管道中所有阶段的详细信息后,可以确定适用于您需要其源修订详细信息的阶段的执行 ID。然后,您将在 get-pipeline-execution 命令中使用该执行 ID。(由于管道中的各个阶段可能是在不同的管道运行期间最后一次成功完成的,因此它们的执行可能不同IDs。)

换句话说,如果要查看当前处于 Staging 阶段的构件的详细信息,请运行 get-pipeline-state 命令,确定 Staging 阶段的当前执行 ID,然后使用该执行 ID 运行 get-pipeline-execution 命令。

查看管道中的状态和源修订版本
  1. 打开终端(Linux、macOS 或 Unix)或命令提示符 (Windows),并使用 Amazon CLI 运行 get-pipeline-state 命令。对于名为的管道 MyFirstPipeline,你可以输入:

    aws codepipeline get-pipeline-state --name MyFirstPipeline

    该命令将返回管道的最新状态,包括每个阶段的最新管道执行 ID。

  2. 要查看有关管道执行的详细信息,请运行 get-pipeline-execution 命令,指定管道的唯一名称以及您要查看构件详细信息的执行的管道执行 ID。例如,要查看有关名为的管道的执行的详细信息 MyFirstPipeline,使用执行 ID 为 3137f7cb-7cf7-039j-s83l-d7eu3,你可以输入以下内容EXAMPLE:

    aws codepipeline get-pipeline-execution --pipeline-name MyFirstPipeline --pipeline-execution-id 3137f7cb-7cf7-039j-s83l-d7eu3EXAMPLE

    该命令将返回有关作为管道执行的一部分且可识别有关管道的信息的每个源修订的信息。这里只包含有关该执行中包含的管道阶段的信息。管道中可能存在不属于该管道执行的其他阶段。

    以下示例显示了管道中名为的部分返回的数据 MyFirstPipeline,其中名为 “MyApp” 的工件存储在存储 GitHub 库中:

  3. { "pipelineExecution": { "artifactRevisions": [ { "created": 1427298837.7689769, "name": "MyApp", "revisionChangeIdentifier": "1427298921.3976923", "revisionId": "7636d59f3c461cEXAMPLE8417dbc6371", "revisionSummary": "Updating the application for feature 12-4820", "revisionUrl": "https://api.github.com/repos/anycompany/MyApp/git/commits/7636d59f3c461cEXAMPLE8417dbc6371" } ], "pipelineExecutionId": "3137f7cb-7cf7-039j-s83l-d7eu3EXAMPLE", "pipelineName": "MyFirstPipeline", "pipelineVersion": 2, "status": "Succeeded", "executionMode": "SUPERSEDED", "executionType": "ROLLBACK", "rollbackMetadata": { "rollbackTargetPipelineExecutionId": "4f47bed9-6998-476c-a49d-e60beEXAMPLE" } } }

使用 list-action-executions (CLI) 查看操作执行情况

您可以查看管道的操作执行详细信息,例如操作执行 ID、输入构件、输出构件、执行结果和状态。您提供执行 ID 筛选条件以返回管道执行中的操作列表:

注意

在 2019 年 2 月 21 日或之后运行的执行有详细的执行历史记录。

  • 要查看管道的操作执行,请执行下列操作之一:

    • 要查看管道中所有操作执行的详细信息,请运行 list-action-executions 命令,并在命令中指定管道的唯一名称。例如,查看名为的管道中的操作执行 MyFirstPipeline,输入以下内容:

      aws codepipeline list-action-executions --pipeline-name MyFirstPipeline

      下面显示了此命令的示例输出的一部分:

      { "actionExecutionDetails": [ { "actionExecutionId": "ID", "lastUpdateTime": 1552958312.034, "startTime": 1552958246.542, "pipelineExecutionId": "Execution_ID", "actionName": "Build", "status": "Failed", "output": { "executionResult": { "externalExecutionUrl": "Project_ID", "externalExecutionSummary": "Build terminated with state: FAILED", "externalExecutionId": "ID" }, "outputArtifacts": [] }, "stageName": "Beta", "pipelineVersion": 8, "input": { "configuration": { "ProjectName": "java-project" }, "region": "us-east-1", "inputArtifacts": [ { "s3location": { "bucket": "codepipeline-us-east-1-ID", "key": "MyFirstPipeline/MyApp/Object.zip" }, "name": "MyApp" } ], "actionTypeId": { "version": "1", "category": "Build", "owner": "AWS", "provider": "CodeBuild" } } }, . . .
    • 要查看管道中的所有操作执行,请运行 list-action-executions 命令,并在命令中指定管道的唯一名称和执行 ID。例如,要查看某项的操作执行情况 Execution_ID,输入以下内容:

      aws codepipeline list-action-executions --pipeline-name MyFirstPipeline --filter pipelineExecutionId=Execution_ID
    • 下面显示了此命令的示例输出的一部分:

      { "actionExecutionDetails": [ { "stageName": "Beta", "pipelineVersion": 8, "actionName": "Build", "status": "Failed", "lastUpdateTime": 1552958312.034, "input": { "configuration": { "ProjectName": "java-project" }, "region": "us-east-1", "actionTypeId": { "owner": "AWS", "category": "Build", "provider": "CodeBuild", "version": "1" }, "inputArtifacts": [ { "s3location": { "bucket": "codepipeline-us-east-1-ID", "key": "MyFirstPipeline/MyApp/Object.zip" }, "name": "MyApp" } ] }, . . .