如何使用npm处理Azure工件的不变性

如何使用npm处理Azure工件的不变性,npm,azure-devops,Npm,Azure Devops,使用GitVersion主线模式,我们确保每次提交都会产生一个新的版本号。但是,在某些情况下,需要使用相同的版本号重复生成 一个例子是,PR有一个成功的构建策略需求,但构建已过期 使用NuGet任务,我们可以使用该选项跳过重复项,并避免尝试将相同的包版本发布到Azure工件提要(导致409冲突) 对于npm任务/客户机,似乎没有一种简单的方法可以实现同样的效果。应该如何处理此问题?您似乎希望发布具有相同版本号的npm包,并且不希望出现409冲突错误,比如在nuget任务中选中允许跳过重复项选项,

使用GitVersion主线模式,我们确保每次提交都会产生一个新的版本号。但是,在某些情况下,需要使用相同的版本号重复生成

一个例子是,PR有一个成功的构建策略需求,但构建已过期

使用NuGet任务,我们可以使用该选项跳过重复项,并避免尝试将相同的包版本发布到Azure工件提要(导致409冲突)


对于npm任务/客户机,似乎没有一种简单的方法可以实现同样的效果。应该如何处理此问题?

您似乎希望发布具有相同版本号的npm包,并且不希望出现409冲突错误,比如在nuget任务中选中
允许跳过重复项
选项,对吗

目前,从查询结果来看:为了再次发布包,必须使用新的版本号。你可以参考这个和

我们可以明确指出,包的同一版本不能发布到提要。 这可以从官员那里得知:

一旦您将包的特定版本发布到提要,那么 版本号是永久保留的。您无法上载更新的文件 具有相同版本号的修订包,或将其删除并 上载同一版本的新包


这是正确的,我理解为什么它需要是不可变的,但是也有类似于我给出的需要重复构建的情况(例如,过期的pr构建)。我们正在通过关闭构建到期来解决这个问题,但是最好是通过跳过重复项来处理npm之类的nuget,这样我们就可以成功地进行构建验证。