0

一旦代码被推送到回购,我再次陷入触发部署的目标,我搜索了网络,但我发现只有旧信息 github 已更新,并且按照那里的说明,我设置了所有值但仍然无法正常工作,所以它看起来我不见了我尝试按照说明进行操作,但似乎很旧http://bytes.babbel.com/en/articles/2014-01-22-github-service-hook-for-aws-ops-works.html

界面令人困惑,我很困惑,因为 repo 名称和 opswork 服务之间没有联系,那么 webhook 应该向 opswork 服务发送什么值?

以下是我的理解

  1. 设置 webhook,一旦代码被推送到 repo(这部分正在工作并将有效负载发送到某个地方),它将根据需要触发并向 CI 或服务发送有效负载:但这失败了,因为它的有效负载 URL应该我提供 opswork 服务 url由 git hub 生成?

  2. Opswork 服务:这不起作用,

来自 AWS opswork 应用程序的应用程序:opswork ID

堆栈 来自 AWS opswork 的堆栈:opswork ID

分店名称

这是我需要在 AWS OpsWorks 控制台中为该应用程序配置的 SHA 的 github 帮助再次引起的混乱?为什么我不应该给 SHA 而不是 Master 或 repo 的链接?

GitHub API 网址

这是可选的,我应该在这里给出什么?

Aws 访问密钥 没有问题

Aws 秘密访问密钥 没有问题

GitHub 令牌

可选:按照说明创建令牌,带令牌和不带令牌都不起作用。

所以如果你检查 opswork 没有被触发,我想当我推送更改时它可能在内部工作但不是。

所以它似乎 web hook 和 opswork 服务需要在某种程度上进行交互但无法弄清楚:(

我检查了 git hub help 也没有发现新界面 我也检查了 google 和 stackoverflow ,但没有找到任何东西

请任何人回答。

4

2 回答 2

0

另一种方法是设置 AWS CodePipeline (CodeDeploy??) 以部署到您的 AWS Opsworks 堆栈。

CodePipeline 是来自 Amazon 的持续交付解决方案。2016 年年中,他们宣布 CodePipeline 与 OpsWorks 合作 - 请参阅他们的博客公告:AWS CodePipeline 添加与 AWS OpsWorks 的集成。那里也有一些演练,具体取决于您的堆栈设置的 OpsWorks 版本。

(使用部署服务部署到具有现有部署服务的服务确实感觉有点奇怪......但是,我认为这可能会有所帮助)

于 2016-11-27T17:04:12.193 回答
0

问题在于 Github 和 opswork 的进程,如果有任何错误,则两者都不会向用户报告错误。

我联系了 Github 支持,幸运的是他们回复了我错误消息“请求中包含的安全令牌无效”。

然后我将访问密钥和密钥重新复制为空白,将“GitHub api url”删除为“master”(因此它将始终部署最新版本,即 head)

还要确保您需要在 opswork 中再次设置权限,这与 IAM 权限是分开的,步骤 -> 转到您的堆栈 - 权限和编辑 -> 添加具有“仅 IAM 策略”权限的用户 github。

网络挂钩和集成之间没有交互。所以你可以在没有 web hook 的情况下使用集成服务 :) 。

感谢 Stack overflow 和 Git-hub :)

于 2016-11-28T04:44:00.560 回答