jga*_*fin 2 c# continuous-deployment nuget azure-devops
我在VSTS中建立了一个版本,该版本在存储库中的每次提交时都会触发。一切都很好,只有一个例外。
我们不会在每次提交时发布新版本的nuget软件包。因此,我们的nuget push构建步骤以http状态代码409失败。我已经配置了该步骤,以便无论如何它都可以继续。
由于该错误,构建仅“部分成功”。我正在使用一个构建徽章,该徽章也声明相同(无上下文)。
如何告诉VSTS忽略409或仅替换现有软件包(在nuget.org上)?
使用-SkipDuplicate标志(自 NuGet 5.1 起可用):
(5.1+) 如果包和版本已存在,请跳过它并继续推送中的下一个包(如果有)。
来源:https ://learn.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-push#options
您不能忽略VSTS构建中的409错误,也不能替换服务器中的现有软件包。
我建议您可以将软件包推送到发行版中,如果发行包存在,则使发行失败。
另一种方法是,您可以在构建过程中先检查服务器中的程序包,然后再进行推送程序包(例如PowerShell,REST API),并设置推送程序包任务的条件(“自定义条件”)。
例如:
更新:
现在,NuGet推送任务支持允许跳过重复项!(只需在NuGet Push任务中选中“ 允许跳过重复项”选项。
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |