Git CodeBuild 中的 SHA?

Git SHA in CodeBuild?

当源代码由 CodeCommit 管理时,如何从 CodeBuild 构建中获取提交的 Git SHA?

与任何其他 Git 存储库一样,每个 CodeCommit 提交都会获得一个唯一的 Git SHA。当 CodeBuild 执行 buildspec.yml 时,可以从 CODEBUILD_RESOLVED_SOURCE_VERSION 环境变量中读取 Git SHA。

但是,我想知道来自 CodeBuild "outside" 的 Git SHA,即在由 "detail-type": "CodeBuild Build State Change". Unfortunately, if you read the documentation you will find that the Git SHA is not part of the event data. I have also tried calling the CodeBuild.batchGetBuilds() 函数的 CodeBuild 事件触发的 Lambda 函数中(因为我知道来自 CodeBuild 事件的构建 ID),遗憾的是,该响应中也没有 Git SHA。

感谢您使用 AWS CodeBuild。对于使用基于 git 的源设置的构建,Git SHA 可以在 CodeBuild.batchGetBuilds() 输出的 resolvedSourceVersion 字段中找到,或者在构建期间的 CODEBUILD_RESOLVED_SOURCE_VERSION 环境变量中找到。 API 输出中的 resolvedSourceVersion 仅在 DOWNLOAD_SOURCE 阶段后可用。 CodeBuild 一周前将此更改发布到 AWS JavaScript SDK in version 2.328.0

您可以 post 在 AWS 论坛上进行此操作,以便我们更好地为您排查问题。

谢谢。