推送提交和标记时 AWS Codebuild 未启动

AWS Codebuild not starting when pushing commit and tag

我按照本教程 https://ruddra.com/aws-codebuild-use-git-tags/ 使我在 aws 中的代码构建仅在将标签推送到我的 bitbucket 项目时触发,如果我只使用标签,它就可以工作。

它在这里工作:

# make some code changes

git add .
git commit -m "changes"
git push origin HEAD # OK: codebuild not trigered as expected

git tag v1
git push origin HEAD --tags # SUCCESS: codebuild is triggered

但是如果我用提交标记:

# make some code changes

git add .
git commit -m "changes"
git tag v1
git push origin HEAD --tags # UNSUCCESS: codebuild is NOT triggered

它与表达式有关:^refs/tags/.* ?

Bitbucket 负载

我试图通过检查 bitbucket 有效负载来弄清楚,似乎当标签哈希与当前 $CODEBUILD_SOURCE_VERSION 不匹配时,它不会检查标签(到目前为止我的猜测)

有效负载(推送标签)

push.changes[0].type: "tag"
push.changes[0].target.hash: "6f08xxx", <== $CODEBUILD_SOURCE_VERSION

非工作负载(推送提交 + 标记)

push.changes[0].type: "branch"
push.changes[0].target.hash: "25b7xxx", <== $CODEBUILD_SOURCE_VERSION

push.changes[0].type: "tag"
push.changes[0].target.hash: "6f08xxx",

你可能注意到 6f08xxx 重复了,这是因为在我的测试过程中,我先尝试了非工作步骤,然后我只是标记和推送,这就是为什么我猜测哈希与检查 codebuild

上的标签

如能解决或调试此问题,我们将不胜感激。

提前感谢您抽出时间

我发现了问题,问题出在 git push origin HEAD --tags,我不应该推送 HEAD,而是推送这样的标签

git push origin v1

那么它就像一个魅力。