有没有办法在 Git / Gitlab中更新分支时发生Webhook?
我正在尝试建立一个开发工作流程.最初的想法是为每个编码阶段建立一个存储库 – 例如:用于开发的存储库,用于测试的存储库,用于生产的存储库.
问题是,我需要在Master分支发生变化时进行操作.例如,如果更新了开发存储库,则将“克隆”开发代码,生成.exe文件,然后将该文件放入“开发”目录中以进行测试.
理想情况下,一旦开发顺利,您可以“提升”代码以“测试”.如果“测试”顺利,那么您将代码提升为“生产”.
问题是没有办法在存储库之间“提升”代码.唯一可用的是能够将较低分支与较高分支合并.
我看到的所有示例都涉及开发分支,测试分支和“生产”分支实际上是存储库的主分支.
好的 – 我可以接受这个;但是,在这种情况下,我需要编译基于开发分支的开发代码,基于测试分支的测试代码等.
要做到这一点,Webhook需要触发,以便采取适当的行动来完成上述任务(因此提出问题的原因).
那么 – 再一次 – 当一个特定的〜分支〜在存储库中发生变化时,如何让Webhook触发?
最佳答案
how can one get a Webhook to fire when a particular ~branch~ changes in the repository?
看起来像issues 1176
If you look at the posted data, you have
:ref => "refs/heads/master",
Webhooks works sending a POST request to a script, with a payload describing the push.
你需要一个服务来监听那个webhook.
如果您使用Jenkins服务器,则可以将a Jenkins GitLab plugin “branch filtering”指向您的webhook.