根据Octopus Deploy中的环境使用不同的包装Feed

时间:2013-08-06 21:40:17

标签: octopus-deploy

据我所知,目前有feature request这样的东西,但我希望使用当前版本有一些解决方法(1.6)

我们从TFS的dev分支构建我们的开发和测试环境,并从TFS的发布分支构建我们的QA和Production环境。由于这些产生了不同的nuget包,我不能使用相同的包feed。部署包步骤似乎没有环境范围选项。还有其他方法可以说“为开发/测试部署软件包X版本Y,为QA /生产包装A版本B吗?”

1 个答案:

答案 0 :(得分:6)

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

从两个分支构建的nugets显然必须具有不同的(非碰撞)版本。我将'dev'后缀添加到从'dev'分支构建的包中(例如1.2.3.4-dev),并将我的'stable'分支留空。

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

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

当然,这种安排的优势在于,如果需要,可以 将你的开发版推送到QA(或Prod)。

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

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