6

我知道目前有这样的功能请求,但我希望使用当前版本(1.6)有某种解决方法

我们从 TFS 中的开发分支为我们的开发和测试环境构建,并从 TFS 中的发布分支为我们的 QA 和生产环境构建。由于这些会产生不同的 nuget 包,因此我不能使用相同的包提要。部署包步骤似乎没有环境范围选项。有没有其他方式可以说“为开发/测试部署包 X 版本 Y,为 QA/生产部署包 A 版本 B?”

4

1 回答 1

6

可以使用相同的提要,但需要注意以下几点:

从两个分支构建的 nugets 显然必须具有不同的(非冲突)版本。我将“dev”后缀添加到从“dev”分支(例如 1.2.3.4-dev)构建的包中,并保留我的“稳定”分支。

当你“创建发布”时,你必须明确,因为默认情况下,Octopus 会选择最高版本的 nuget,这可能不是你想要的版本(稳定可能滞后于开发)。选择您想要的软件包版本(并适当地设置部署版本)。如果您通过 TeamCity 创建发布,请确保使用 --packageVersion 参数并设置发布号。

由于上述仅在版本中只有一个包的情况下才有效,因此您的部署过程确实(不幸的是)必须生成一个整体 nuget,否则您将获得版本不匹配。

当然,这种安排的优势在于,如果需要,您可以在紧要关头将您的开发构建推送到 QA(或 Prod)。

当然,所有这些都假设两个分支都构建为相同的包。您可以在 dev 和 stable 分支之间构建不同的包(但我认为我不推荐这样做,因为复制了所有 Octopus 配置)。

更新:显然你可以使用 Octo.exe 在不同的包中指定不同的版本号 - 请参阅https://github.com/OctopusDeploy/Octopus-Tools

于 2013-09-24T14:19:46.673 回答