看来使用CodeBuild无法使Codedeploy在CodePipeline项目中工作。
[首先,我建立了一个包含三个阶段的管道:源,构建和部署,前两个阶段运行良好,但是第三个阶段(CodeDeploy)抛出此错误:
CodeBuild将输出工件推送到.zip文件中的s3,CodeDeploy不支持。
为此,我试图在CodeBuild和CodeDeploy之间设置Lambda函数,如下所示:(源-> CodeBuild->调用Lambda-> CodeDeploy),Lambda函数将appspec.yml文件上传到s3并调用putJobSuccessResult,但是我仍然遇到相同的错误。
目前尚不支持使用CodePipeline使用CodeDeploy作为部署提供程序的Lambda进行部署的已知限制。
这是因为CodePipeline将始终压缩包/工件,而CodeDeploy希望将YAML / JSON文件作为Lambda Function部署的源(appspec.yaml文件)。
为了解决此限制,您有两个选择:
OR
Ref: