AWS Codebuild-执行buildspec.yml时如何在提交时读取标签?

时间:2018-07-27 23:37:34

标签: git amazon-web-services aws-codebuild

如标题所述,我想知道提交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}

在Webhook的POST中,正文的最顶部是: { "ref": "refs/tags/0.0.2", "before": "0000000000000000000000000000000000000000", "after": "6258048d01ca4aa18e7c27dac2d7a51ec5640421", "created": true, "deleted": false, "forced": false, "base_ref": "refs/heads/release-script", ... }

1 个答案:

答案 0 :(得分:2)

简短的答案在撰写本文时为否。创建代码时,AWS Codebuild不支持Webhook。

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

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

2)我写了一个bash脚本:

  • 增加语义版本,从而触发存储库中的更改。
  • 将更改提交给我的deploy分支。 (大师)
  • 创建一个新分支,其名称与上面的正则表达式匹配,并且其中也包含版本。例如build-0.2.11,build-1.2.3等
  • 删除新创建的分支

创建远程分支将触发github将推送Webhook切换到AWS。 webhooks中具有分支的名称,您可以在代码构建脚本中使用该分支。 "ref": "refs/heads/build-0.2.11"