2

有时版本信息必须嵌入到输出工件的元数据中。因此,版本必须在构建/编译时确定。

但是,在您实际发布语义版本控制之前,您不能调用版本,因为最后一位数字必须是增量的。

例如

发布过程有 6 个步骤。提交 1 和提交 2 触发了 2 个构建。

在提交 1 完成步骤 6 中的发布过程之前,您无法真正确定语义提交 2/构建 2 将是什么。如果提交 1/构建 1 失败,则提交 2/构建 2 将为 1.0.0。如果构建 1 成功,构建 2 将是 1.0.1。

如果您正在创作 nuget 包或 .net 二进制文件,则版本信息将已经在工件本身中,并且无法更改。

4

1 回答 1

1

您描述的增量数字要求是否有意义?

即使构建 1 成功(因此根据您的描述验证 v1.0.0),如果其结果是来自测试预期的 DOA(例如产品不断崩溃),您仍然不会发货。

那么 v1.0.0 因为构建失败或因为它是 DOA 而未部署/发货之间有什么区别?据我所知,没有。

我只是放弃这个要求,让事情变得更简单——每个构建都有基于相应提交的自己的版本,有些版本不好(无论出于何种原因)。

于 2015-05-26T12:47:15.250 回答