【问题标题】:Trigger AWS CodePipeline by GitHub release Webhook通过 GitHub 发布 Webhook 触发 AWS CodePipeline
【发布时间】:2019-03-02 03:14:12
【问题描述】:

AWS CodePipeline 现在支持 GitHub WebHook,但默认情况下
每次在 master 分支上推送(更改)代码时,都会触发 CodePipeline。

但是,我只希望它在我实际发布版本时运行。
所以,我手动配置了自动生成的 GitHub WebHook 如下:
(取消选中推送,选中发布)

但配置完成后,CodePipeline 不再踢。
(当我再次检查推送时,它会再次开始查看每一次推送)

它只看推送动作吗?

如果是,有没有其他方法可以通过 GitHub 发布操作来踢 CodePipeline?

【问题讨论】:

    标签: amazon-web-services github aws-codepipeline


    【解决方案1】:

    CodePipeline 的 webhook 旨在处理推送事件,但我认为没有理由不能配置 CodePipeline webhook 以触发发布事件。来自 webhook 调用的任何信息实际上都不会用作源操作的一部分,因此您可以从任何地方触发它。

    它不起作用的原因可能是您的 webhook 过滤器的配置方式。

    查看ListWebhooks API 以了解您的 webhook 是如何配置的。

    This page 描述了如何使用过滤器和身份验证配置来匹配 github 事件以决定是否触发管道执行。

    【讨论】:

    • 非常感谢您的回答!!!就像你说的,过滤器阻止了我的发布 webhook。 ({"jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}"}) 仅存在于 push webhook 主体中。在我将它更改为适合发布 webhook 之后(像这样 -> {"jsonPath": "$.action", "matchEquals": "published"}),它就像一个魅力!
    • 没问题!我喜欢为 CodePipeline 开发功能并看到我们的客户使用它们的创造性方式?
    • @sora,您能否澄清一下,如何编辑该 JSON?
    • createpublish github webhook 实际上都不包含标记指向的提交,那么当您希望 CodePipeline 对该提交采取行动时,它如何与它一起工作? push 事件可以,但您必须对 $.ref == "refs/tags/my-tag" 进行部分匹配,然后从中提取标签名称,CodePipeline webhook 似乎不支持(仅matchEquals{Branch})。那么这将如何运作呢?
    猜你喜欢
    • 2020-08-08
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 2018-11-16
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    相关资源
    最近更新 更多