当源代码由CodeCommit管理时,如何从CodeBuild构建中获取提交的Git SHA?
像任何其他Git存储库一样,每个CodeCommit提交都具有唯一的Git SHA。当CodeBuild执行buildspec.yml
时,可以从CODEBUILD_RESOLVED_SOURCE_VERSION环境变量中读取Git SHA。
但是,我想从CodeBuild的“外部”了解Git SHA,即在由"detail-type": "CodeBuild Build State Change"的CodeBuild事件触发的Lambda函数中。不幸的是,如果您阅读文档,您会发现Git SHA不是事件数据的一部分。我也尝试过调用CodeBuild.batchGetBuilds()函数(因为我知道CodeBuild事件中的构建ID),很遗憾,该响应中也没有Git SHA。
最佳答案
感谢您使用AWS CodeBuild。对于使用基于git的源设置的构建,可以在构建期间的CodeBuild.batchGetBuilds()输出中的resolveSourceVersion字段或CODEBUILD_RESOLVED_SOURCE_VERSION中找到Git SHA。 API输出中的resolveSourceVersion仅在DOWNLOAD_SOURCE阶段之后可用。 CodeBuild在一周前将更改发布到AWS JavaScript SDK in version 2.328.0。
您可以将其发布在AWS论坛上,以便我们更好地为您解决问题。
谢谢。
关于git - Git SHA在CodeBuild中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52760651/