AWS Codebuild——执行 buildspec.yml 时如何读取提交上的标签?

AWS Codebuild -- How to read tag on the commit when buildspec.yml is executed?

如标题所述,我想知道提交 SHA 上是否有触发 AWS 代码构建的标签。

我在我的 buildspec.yml 文件中使用 printenv 查看了所有 Env 变量,似乎 AWS codebuild 从 git 捕获的唯一东西是提交哈希。我想知道有没有简单的获取标签的方法

我在一个命令中将提交和标签推送到 git:

git push origin <releaseBranch> : <version>

我正在寻找 github 的 webhook。这是我从 CodeBuild 得到的响应: {"response":"Webhook received and build started: https://us-west-2.console.aws.amazon.com/codebuild/<projectSpecificStuff>/view/new","statusCode":200}

在网络钩子 POST 中 body 的最顶端是: { "ref": "refs/tags/0.0.2", "before": "0000000000000000000000000000000000000000", "after": "6258048d01ca4aa18e7c27dac2d7a51ec5640421", "created": true, "deleted": false, "forced": false, "base_ref": "refs/heads/release-script", ... }

在撰写本文时,简短的回答是否定的。 AWS Codebuild 不支持创建标签时的 webhook。

我最初的问题是针对创建一个带有语义版本的简单构建系统。我通过创建分支过滤器和 bash 脚本解决了标签问题。

1) 我将我的分支过滤器设置为 build-[0-9]+.[0-9]+.[0-9]+.

2) 我写了一个 bash 脚本:

  • 增加语义版本,触发 repo 中的更改。
  • 将更改提交到我的部署分支。 (大师)
  • 创建一个名称与上面的正则表达式匹配的新分支,其中还包含版本。例如,build-0.2.11、build-1.2.3 等
  • 删除新创建的分支

只要创建远程分支就会触发 github 将推送 webhook 触发到 AWS。 webhooks 中有分支的名称,您可以在代码构建脚本中使用它。 "ref": "refs/heads/build-0.2.11"