关于使用 CI / CD 管道发布语义版本的一般问题

General question on semantic versioning releases using CI / CD pipeline

我还没有找到关于使用 Azure DevOps(服务器)语义版本控制软件版本的明确指南CI/CD。

我的基本理解是,我会为我们的团队设置一个 CI 管道,以便我们获得构建失败通知、测试执行、代码覆盖率、静态代码分析等好处。

CD 管道在 CI 管道上启动,在完成后在不同环境中推出工件。

使用这种方法对我来说似乎没有意义。由于开发人员没有注意或团队想要丢弃而失败的构建怎么办?这样的构建不会进入生产环境,但可能会用完版本号,从而导致我们的版本控制方案出现漏洞。

您使用 CI/CD 管道对软件版本进行语义版本控制的经验或方法是什么?你会挑选构建吗?您是否有单独的构建发布管道?

  1. 不会部署失败的构建。对于在部署到较低环境时成功但未通过 QA 或集成测试的构建,您可以设置审批门,以便在发布到更高环境之前必须有人批准发布。

  2. 如果您构建应用程序的 1.0.1 版并将其部署到开发环境,但效果不佳,这并不意味着 1.0.1 版不存在。它存在。它由特定的代码资产组成。它很糟糕,您的用户将永远不会看到它,但这 很好 。如果用户看到版本 1.0.1 跳转到 1.0.94,这有什么关系?