【问题标题】:AWS Codebuild -- How to read tag on the commit when buildspec.yml is executed?AWS Codebuild -- 执行 buildspec.yml 时如何读取提交上的标签?
【发布时间】:2019-01-05 02:20:18
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    2) 我写了一个 bash 脚本:

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

    仅远程分支的创建将触发 github 将 push webhook 触发到 AWS。 webhook 中包含分支的名称,您可以在代码构建脚本中使用它。 "ref": "refs/heads/build-0.2.11"

    【讨论】:

      猜你喜欢
      • 2019-10-29
      • 1970-01-01
      • 2021-06-08
      • 2018-10-05
      • 1970-01-01
      • 2021-10-01
      • 2023-02-07
      • 2021-11-27
      • 2019-03-13
      相关资源
      最近更新 更多