我们目前已将我们的代码发布到Production,因此 cut 并分支以确保我们可以支持我们当前的版本,同时仍然支持热修复而不会破坏当前版本 - 发展。
这是我们目前的结构:
Project-
/Development
/RC1
直到最近才使用八达通,我们有以下过程:
Dev->Staging/Dev Test->UAT
哪个工作正常,因为我们没有实际发布。
我的问题是八达通如何支持我们的新工作方式?
我们是否在Octopus中创建一个名为RC1的新/克隆项目,并将RC1分支中的CI添加到其中?然后根据需要添加/删除这些RC不再需要?
还是有其他方法我们已经明显错过了吗?
答案 0 :(得分:2)
不幸的是,Octopus没有直接支持 - true 支持分支(尚未)。它位于roadmap下的better branching support 3.1。他们已经talking about this problem了一段时间了。
您提到的一个想法是为每个分支克隆您的项目。您可以在要克隆的项目的“设置”选项卡(右侧)下执行此操作。这将允许您复制项目并简单地将其重命名为您的一个分支 - 因此一个PreRelease或Release Candidate项目和其他是您的主线Dev(我将保留项目的相同名称)。我假设你拥有同一个项目组中的所有内容。
或者,您可以在不同分支的项目中更改NuSpec文件,以便您可以清楚地看到在概览项目页面或仪表板上部署的内容。因此,对于你的RC分支,你可以在RC分支中的NuSpec中添加后缀-release,这是合法的(rules on Semantic Versioning谈论规则#9的预发布)。这样,您可以使用相同的项目,但要部署不同的包。如果您的目标服务器是相同的,那么与克隆相比,这可能是“更轻”或更简单的方法。
答案 1 :(得分:0)
我在这里写了关于我们如何做到这一点的博客: http://www.alexjamesbrown.com/blog/development/working-branch-deployments-tfs-octopus/
这有点像黑客,但总结一下: