代码管道中的资产执行步骤失败 - CDK (Java)

Assets execution step failing in codepipeline - CDK (Java)

我是这里的新手,我需要有关 CDK 代码管道的任何帮助。 我正在尝试使用管道部署一个模块,但由于某种原因它卡在了 'Assets' 执行步骤。

Error: Cannot read asset manifest at 'assembly-xxxPipelinexxxStack-Deploy/xxxPipelinexxxStackDeployxxxPipelinexxxStackF5F6A16A.assets.json': ENOENT: no such file or directory, stat 'assembly-xxxPipelinexxxStack-Deploy/xxxPipelinexxxStackDeployxxxPipelinexxxStackF5F6A16A.assets.json'

我已经检查了 cdk.out,它确实包含位于 assembly-xxxPipelinexxxStack-Deploy/xxxPipelinexxxStackDeployxxxPipelinexxxStackF5F6A16A.assets.json[ 位置的所需文件=39=]

自动创建的buildspec文件如下:

{
  "version": "0.2",
  "phases": {
    "install": {
      "commands": [
        "npm install -g cdk-assets"
      ]
    },
    "build": {
      "commands": [
        "cdk-assets --path \"assembly-xxxPipelinexxxStack-Deploy/xxxPipelinexxxStackDeployxxxPipelinexxxStackF5F6A16A.assets.json\" --verbose publish \"38341e9ef6b01cd2c7cc3b47cd0d2da98933b1121302bf0b03603950b8ff0bd4:current_account-current_region\""
      ]
    }
  }
}

流水线阶段是:

  • 来源 - 成功
  • 构建 - 成功
    • 合成器 - 成功
  • 资产
    • FileAsset1 - 失败

感谢您抽空回复。

你没有指定这个,但我假设你正在使用 CDK pipelines (not aws-cdk-lib.aws_codepipeline).

这是 CDK 管道的一个怪癖 - 构建规范必须更改以反映资产中的每个更改。这在实践中意味着,当您使用资产时,您必须为管道启用 self-mutation,而您似乎禁用了它。