【问题标题】:How to generate release version numbers without relying on a CI build number?如何在不依赖 CI 内部版本号的情况下生成发布版本号?
【发布时间】:2020-12-22 17:49:43
【问题描述】:

我当前的 Web 应用程序 CD 管道包含三个步骤

  • 后端,用gradle构建Spring Boot后端
  • 前端,使用 ng 构建 Angular 前端,与后端步骤并行运行
  • containerize,创建容器镜像并发布到 docker hub,后端和前端成功后通过手动触发器运行。发布的图像有多个标签,其中一个是内部版本号标签,格式为build-num,类似于build-123build-525。内部版本号来自 bitbucket 管道内部版本号环境变量。
  • 后端和前端在同一个 git 仓库中

我想将使用 bitbucket 管道生成的内部版本号替换为不是从 CI 系统派生的版本号,而是 git 存储库本身更固有的版本号,并启用将某些提交发布为容器映像的工作流,但不是所有提交。

问题:

  • 可以使用哪些技术来导出对人类友好的版本号,而不仅仅是 git 哈希。版本号必须是可排序的 我希望能够查看两个版本号并确定它们的发布顺序。

【问题讨论】:

    标签: git continuous-integration versioning continuous-deployment continuous-delivery


    【解决方案1】:

    我们为此提供了一个开源工具:https://github.com/relizaio/versioning

    我们还为更高级的案例提供 SaaS 解决方案(Reliza Hub - 在 2021 年底之前处于公共预览模式)。请参阅我在此处描述两者的选项和用法的文章:https://worklifenotes.com/2020/02/27/automatic-version-increments-with-reliza-hub-2-strategies/

    请注意,在每次 git push 上构建 docker 容器是一种常见的做法。如果 CI 测试通过,则没有太多理由跳过构建容器,因为有多种方法可以稍后在镜像注册表端自动删除旧镜像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      相关资源
      最近更新 更多