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

Loc*_*eCJ 6 octopus-deploy

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

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

pie*_*rs7 6

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

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

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

由于上述仅在发布中只有一个包时才有效,因此您的部署过程(不幸的是)必须生成一个单片nuget,否则您将获得版本不匹配.

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

所有这些都假设两个分支当然都是相同的包.您可以在开发和稳定分支之间构建不同的包(但我认为我不建议这样做,因为复制了所有的Octopus配置).

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