使用AWS CodeBuild进行语义版本控制

jus*_*res 9 amazon-web-services aws-codepipeline aws-codebuild

目前,我的团队正在使用Jenkins来管理我们的CI/CD工作流程.由于我们的基础架构完全在AWS中,因此我一直在寻求迁移到AWS CodePipeline/CodeBuild来管理它.

在当前状态下,我们正在对我们的工件进行版本控制,<major>.<minor>.<patch>-<jenkins build #>1.1.1-987.但是,CodeBuild似乎没有任何构建号的概念.由于工件存储在s3中,<bucket>/<version>/<artifact>我真的不想失去这种版本控制方法.

CodeBuild确实提供了一些我在这里可以看到的env变量:http://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref.html#build-env-ref-env-vars

但是从可用的内容来看,尝试使用构建ID或其他任何内容似乎很愚蠢.

CodeBuild有哪些可以支持增量构建#的东西吗?或者是否有AWS推荐的语义版本控制方法?搜索此主题会返回非常低的结果

非常感谢任何帮助或建议

小智 2

当我发布这个答案时可能已经晚了,但是由于 AWS 尚未发布此功能,这可能会帮助一些有类似情况的人。

我们使用 Jenkins 内部版本号进行版本控制,并迁移到codebuild/code-pipeline. codebuild-id不适合我们,因为它非常随机。因此,我们在文件 interim中创建自己的内部版本号。buildspecBUILD_NUMBER=$(date +%y%m%d%H%M%S)

这样至少我们能够查看 id 并知道它何时部署,并且编号具有一定的一致性。所以在你的情况下,它将1.1.1-181120193918代替1.1.1-987.

希望这可以帮助。