通过对我的项目进行持续集成,我需要从BAZAAR中签出最新sprint中的代码作为bzr://path/to/myproject/sprint/123
由于此路径重复更改(对于每个sprint),我目前正在使用externals创建一个指向bzr://path/to/myproject/sprint/123
的bzr://path/to/myproject/current
所以,我只需要更改externals,就可以将持续集成工具重定向到最新的项目。
还有其他方法吗
我不想在持续集成工具(CruiseControl.NET)中更改项目的配置。
一个选项(可能不适合团队的流程)是停止在bzr中为每个迭代的更改使用单独的"sprint"位置。相反,只需使用"trunk"(或者上面的"current")。如果您通常处于多个sprint同时发生更改的情况,那么这可能不合适。
我想您可以使用轻量级结账。
bzr checkout --lightweight bzr://path/to/myproject/iterations/123 bzr://path/to/myproject/current
然后,您可以使用bzr switch
切换到下一个分支(我不确定它是否能在网络上工作):
bzr switch -d bzr://path/to/myproject/current bzr://path/to/myproject/iterations/124
在网上搜索后,我发现了一些关于这个问题的文章。
到目前为止有两种解决方案:
- 自动检测新完成的分支并构建它们。这里有一个使用CC.NET的例子。它非常适用于我的迭代
- 另一种方法是向执行大部分CI工具的开发人员提供脚本。这并不完美,但这可能会在合并到主干之前检测到问题
其他参考资料:
进行持续集成时的最佳分支策略?