控制台中无法修改 Webhooks 的分支

无法修改预备环境的 webhooks 分支。无论我改成什么分支(比如 releasestaging ),只要刷新页面预备环境的分支就立刻变回 master。印象中一个月前并没有出现这种情况。

这导致尽管应用的代码已经推送到 master 分支,然而生产环境并不会自动部署。

分支其实就是 webhook url 里的一个参数,当你改了分支之后下面的 url 就变了,默认是 master

如图1,我的确已经把分支改为 staging,但刷新页面后预备环境的分支还是自动改为 master。这是正常行为吗?

是正常行为 .... 你可能还没懂我的意思,这个页面只是帮助你生成一个 url,实际部署哪个分支是取决于调用这个 url 时的 gitTag 参数的。

我仔细地看了我的 Leancloud 应用的部署历史和 bitbutket 的 webhook 历史,我发现无法正常自动部署的原因如下:

因为每次把代码推送到 Bitbucket 都会触发所有的 webhook,因此 stagingmaster 的 webhook 会同时被触发,导致 Leancloud 会因为需要同时部署两个分支(尽管 master 的 commit 并没有改变)而对其中一个报错:

"error": "您的上一次部署尚未完成,请稍等片刻"

请问 Leancloud 可以根据 gitTag + commit 来忽略 webhooks 吗?

1 人赞了这个帖子.

如果同时有两个部署的话,按理说前一个是会成功的呀。

目前还不支持对 webhook 的内容进行判断,只要这个 url 收到 POST 请求就会按照指定的分支触发一次部署。

可惜每一次都是 master 分支成功。但实际上我想部署的是 staging 分支。

明白了。感谢你的解答

虽然这个分支参数让 LeanCloud 只拉 特定分支的代码,但 master 分支源码提交会触发一次部署,若有 Travis CI 构建前端代码后推到 release 分支又触发一次,两次挨得近时,第二次(真正需要的那次)有失败概率……

目前确实是这样 ...