正如标题所述,我想知道提交SHA上是否有触发AWS代码构建的标记。
我在buildspec.yml文件中使用printenv查看了所有Env变量,AWS代码构建从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",
...
}
在撰写本文时,简短的答案是否定的。创建标记时,AWS Codebuild不支持的webhook。
我最初的问题是为了创建一个附带语义版本的简单构建系统。我通过创建一个分支过滤器和一个bash脚本来解决标记问题。
1( 我让我的分支过滤器
build-[0-9]+.[0-9]+.[0-9]+.
2( 我写了一个bash脚本:
- 增加语义版本,从而触发repo中的更改
- 将更改提交到我的任意部署分支。(master(
- 创建一个新分支,其名称与上面的regex匹配,其中还包含版本。例如,build-0.2.11、build-1.2.3等
- 删除新创建的分支
仅创建远程分支就会触发github将push-webhook发送到AWS。webhook中有分支的名称,您可以在代码构建脚本中使用该名称。
"ref": "refs/heads/build-0.2.11"