3

糟糕,我们无法发送测试负载:AWS Code Deploy 不支持推送事件。

当我尝试测试我的钩子服务“Code Deploy For AWS”时,向我显示了上述错误。此外,当我提交代码时,它应该会自动部署我的新代码,但它失败了。你能帮我解决上面的问题吗?

4

3 回答 3

4

有几个人遇到了同样的问题,并且有一些事情需要仔细检查,并且该 AWS 博客文章中的一些棘手部分没有得到很好的解释。

  1. 仔细检查您创建的 IAM 用户,并确保其具有正确的 IAM 策略。如果您不想自己编写,可以使用 AWS 提供的“AWSCodeDeployDeployerAccess”策略
  2. 查看AWS 开发人员论坛中的这篇文章。TLDR 是部署组必须全部小写。出于某种原因,GitHub 将 API 调用中的部署组名称小写,这将导致名称与您在 AWS 中的部署组不匹配。
  3. 确保在设置“GitHub Auto-Deployment”服务时将“environments”属性设置为部署组的名称。博文并没有说它们需要匹配,但如果你看截图,作者确实为 Auto-Deployment 服务中的“environments”属性和部署组中的属性使用了相同的字符串。 AWS CodeDeploy 服务

如果您仍然难以设置 GitHub 挂钩或 CodeDeploy,我鼓励您参加我的AWS CodeDeploy 课程

于 2015-10-18T23:04:41.050 回答
0

我在测试服务挂钩时遇到了同样的问题,然后我检查了我在 AWS 中的部署组名称与 Github 中的“环境”值不同,我更改为在两个地方都具有相同的值。现在它可以工作了。

并确保您使用的 IAM 用户具有 codeDeployAccess 权限。就我而言,就是这样,或者您可以为此使用 AWS 现有策略,即“AWSCodeDeployDeployerAccess”。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codedeploy:*",
      "Resource": "*"
    }
  ]
}

虽然当我在 Github 中测试 web hook 服务时它仍然显示这个错误,但是当我推送我的代码时它确实有效,有些人在这篇文章中也提到了同样的问题。因此,即使您的 web hook 测试显示错误,您也可以提前使用真正的 git push 进行测试。

于 2015-11-26T08:37:28.503 回答
0

如果可能,您能否粘贴用于从 Github 调用 CodeDeploy 的 AWS 用户的权限策略?最常见的用户权限设置问题会引发此错误。

您是否还将 aws_region 配置设置为您的 CodeDeploy 应用程序所在的区域?否则 github 默认使用“us-east-1”。请参阅https://github.com/github/github-services/pull/1014

谢谢,
苏里亚。

于 2015-10-13T01:25:38.630 回答