我希望有这样的机制来自动更新npm包的版本(或者在每次向提要推送新的包时增加版本控制(。在Azure DevOps中,您不能删除包,只能弃用。所以build-get失败了,因为它看到相同版本的包已经可用。
在一般情况下,您需要一些外部库+额外的git提交来跟踪版本或一些存储。
我在这里描述了一些可能的选择:https://worklifenotes.com/2020/02/27/automatic-version-increments-with-reliza-hub-2-strategies/
(免责声明:链接描述了使用Reliza Versioning OSS或Reliza Hub,这是我正在开发的工具,但您可能可以使用类似的原则找到替代方案(。好的是,这种方法可以用于任何CI和任何工件存储(这意味着你不依赖Azure DevOps或Azure工件(。
同样,对于节点,您可以考虑npm特定的工具:lerna或yarn。
我选择了$(GitVersion.SemVar)
作为包版本。这将获得最新的git提交,varSemVar
将返回签入版本。我知道这不是一种成熟的方法,但它比version.patch
要好,后者只是在增加版本。