CodeBuild中的Git SHA是什么?

4
当源代码由CodeCommit管理时,如何从CodeBuild构建中获取提交的Git SHA?
与任何其他Git存储库一样,每个CodeCommit提交都会获得一个唯一的Git SHA。当CodeBuild执行buildspec.yml时,Git SHA可以从CODEBUILD_RESOLVED_SOURCE_VERSION环境变量中读取。
但是,我想要在“外部”获取Git SHA,即在由CodeBuild事件触发的Lambda函数中,例如 "detail-type": "CodeBuild Build State Change" 事件。不幸的是,如果您阅读文档,您将发现Git SHA不是事件数据的一部分。我还尝试调用CodeBuild.batchGetBuilds()函数(因为我知道CodeBuild事件的构建ID),但遗憾的是在响应中没有Git SHA。
1个回答

5
感谢您使用 AWS CodeBuild。对于设置了基于 git 的源的构建,Git SHA 可在 CodeBuild.batchGetBuilds() 输出的 resolvedSourceVersion 字段中找到,或者在构建期间的 CODEBUILD_RESOLVED_SOURCE_VERSION 环境变量中找到。API 输出中的 resolvedSourceVersion 仅在 DOWNLOAD_SOURCE 阶段后可用。CodeBuild 在一周前发布了这个更改到 AWS JavaScript SDK 版本2.328.0 中。
您可以在 AWS 论坛上发布此内容,以便我们更好地为您解决问题。
谢谢。

谢谢,正好及时。 - matsev
你好,CODEBUILD_RESOLVED_SOURCE_VERSION是用于第一个/主要源代码的,其他源代码的git提交ID似乎无法从构建环境中获取? - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接