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

问题描述

我按照本教程 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

那么它就像一个魅力。