【发布时间】:2015-04-29 03:44:35
【问题描述】:
我们有一个基于 TFS 的自动构建,它在 Octopus 中创建一个版本,该版本自动部署到测试环境中。
作为此构建的一部分,我们提供了一个与我们的发布路线图一致的 --defaultpackageversion 值,例如4.1.1.1 - 此版本已在构建模板中分配,所有项目都以该版本正确进入 Octopus。
不过,作为此版本的一部分,我们的 NuGet 远程提要中有一个包不反映发布路线图版本,例如1.1.0.0.
因此,对于每个包,Octopus 部署4.1.1.1,但尝试为这个特定包解析4.1.1.1,其中仅存在1.1.0.0。
octo.exe 有一个参数,允许我们为给定步骤提供版本,--package=StepName。
要提供此步骤名称的版本,我需要:
- 获取 NuGet 包 ID
- 使用 NuGet 获取此包的最新版本
- 将此版本与步骤名称通过管道传递到
octo.exe
这意味着必须指定(作为 TFS 构建模板的一部分)NuGet 包 ID 和部署所述包的 Octopus 步骤。因此,如果更改步骤以部署不同的 NuGet 包,我必须在提供此参数的每个构建模板中反映该更改。
在我看来,我应该能够:
- 告诉 Octopus 部署特定版本的 NuGet 包,无需提供特定步骤。
- 告诉 Octopus 在给定步骤名称的情况下自动获取最新版本的 NuGet 包。
我看不到任何可以让我实现上述任一选项的论点。
有谁知道如何实现上述任一选项(或类似选项)?否则我可能不得不在构建模板中指定步骤名称和 NuGet 包 ID(不理想)。
【问题讨论】:
标签: tfs octopus-deploy