我对 AWS Codepipeline 还很陌生。我已经设置了一个 ECS 集群,其中包含服务和任务定义,以及 ECR 中存在的映像。我有一个 CodeBuild 作业来将新映像推送到 ECR。
一旦触发管道,CodeBuild 就会正常运行,并将工件推送到 S3,并将图像推送到 ECR。发布此信息后,当 CodeDeploy 作业启动时,我收到以下错误。
操作执行失败 InternalError。错误参考代码。
我在 cloudwatch 或其他地方都没有收到任何日志。不确定问题到底是什么。
任何帮助都非常好。如果需要的话可以提供更多信息。
提前致谢。
答案1
我遇到了同样的问题,由于错误消息对于调试没有什么帮助,所以我花了很长时间才找到根本原因。
但是错误的原因相当简单,可以通过在任务定义文件 ( taskdef.json
) 中添加一些缺失的必需属性来修复。请查看官方AWS-ECS-TaskDefinition 文档对于所有必需的属性,因为它们必须是任务定义文件的一部分。
答案2
对我来说,尽管我的 g 在 CodePipeline、CodeBuild 和 CodeDeploy 上拥有足够的权限,但它恰好是我从 AWS Secrets Manager 检索的 github 令牌。该机密存在于一个区域中,而我试图在另一个区域中检索相同的机密。我不得不将机密复制到其他区域并选择我尝试访问令牌的新区域。