AWS Codebuild-一个人可以从codebuild buildspec访问最后一个git commit消息吗?

时间:2019-06-04 19:51:40

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

在我的一些代码管道中,我已经使用cypress / mocha / mochawesome-reporter设置了E2E测试,以在代码构建的post-build部分中运行测试。然后,我添加了--recursive行(请参阅下文),以从构建中删除所有报告材料,并将它们移到带有时间戳的文件中(请参阅:“ $(date +”%Y%m%d-%H%M“ )“)目录放在s3存储桶中。我想知道是否有一种方法可以访问最后一个提交消息(也许是环境变量还是其他?)并将其添加到带有时间戳的目录的名称中。我已经阅读了很多文档,但只看到允许您提取git ID /哈希的环境变量。

我知道您可以在代码管道的“源”部分(通过webhooks)看到最后的提交消息,所以也许有一种方法可以将这些信息传播到构建部分?

更多信息:代码流水线是由网络钩子看到的,这是我的存储库的新推送。

已阅读文档。尝试在代码构建中添加“ printenv”,然后当我看到尾部日志进入时,我看不到任何可以拉出的提交消息。

 post_build:
    commands:
       - npm run ci
       - aws s3 mv mochawesome-report s3://XXX-BUCKET/reports/XXX-PRODUCT/$(date +"%Y%m%d-%H%M") --recursive

我希望可能有一些方法可以拉出最后的git commit消息,也许我的代码示例中的最后一行看起来像:

  • aws s3 mv mochawesome-report s3:// XXX-BUCKET / reports / XXX-PRODUCT / $(date +“%Y%m%d-%H%M”)CODEBUILD_SRC_GIT_COMMIT_MSG ?? -递归

1 个答案:

答案 0 :(得分:0)

脚本https://github.com/thii/aws-codebuild-extras在CodeBuild中提供了其他环境变量,其中包括一个CODEBUILD_GIT_MESSAGE。也许类似的东西可以在CodePipeline中工作?