如何在 AWS CodeBuild 期间调用 git 命令

San*_*har 6 git git-describe aws-codebuild

我需要在我的应用程序中显示“构建版本”。为此,我使用 npm 包“git-describe”,它从最后一个 Git 标签获取当前 Git 提交的“距离”。它在本地运行良好,其中 .git 文件夹与源代码一起可用。但在服务器上,它不起作用,可能是因为“.git”文件夹不是部署代码的一部分。因此,我在 package.json 中添加了一个脚本,将“距离”写入文件,以便代码稍后可以读取其值以显示在应用程序中。

我假设“.git”文件夹可用于在 CodeBuild 期间执行 git 命令。因此,我将上述 package.json 脚本添加到 AWS CodeBuild 管道中。但我认为我错了,因为 git 命令似乎在服务器上不起作用。

有人可以建议我如何实现所需的功能吗?

小智 4

使用 AWS CodePipeline + CodeBuild 时,与作为独立服务的 CodeBuild 存在差异。

假设您采用第一种情况,AWS CodePipeline + CodeBuild。为了确保元数据文件夹存在,您需要通过 CodePipeline 源操作.git启用完整克隆。codecommit:GitPull随后,如果使用 CodeCommit 或codestar-connections:UseConnection其他 SCM 提供商,您将需要向您的 CodeBuild 服务角色授予 IAM 权限。

所以对于一个独立的CodeBuild用例。元.git数据文件夹应默认存在,并在设置过程中控制克隆深度。