如何在特性分支上做持续集成

How to do continuous integration on feature branches

我们公司使用git流程并使用持续集成。

这意味着:

这很好用,但不适用于功能。

我们经常有多个功能,需要公司其他人测试。

所以我想说:

"Build /feature/my-feature/ to feature_1.domain.com",因此我们内部网络上的任何人都可以非常轻松地访问该功能。

你怎么做到的?

我能想到的可能的解决方案

构建自己的工具:

我们正在考虑构建我们自己的工具,通过 Github 进行身份验证,然后手动获取存储库并为给定的 URL 构建解决方案。

这看起来真的很奇怪 - 它似乎破解了持续集成。

功能切换:

最常见的答案似乎是使用功能切换,但这并不容易让其他人测试/转换功能 on/off。

技术:Git(GitHub)、CruiseControl、Sourcetree、.NET

只是在那里扔东西.. 添加一个名为 BuildToFeature_X 的 ccnet 项目。使用 ccnet 参数来控制构建的内容和位置。参数为:

  1. FeatureNumber - post 的域。您在示例中使用了 1。
  2. 分支 URL - 要检出和构建哪个版本控制分支。

ccnet 项目检出 Branch URL 并将其构建到 feature_[FeatureNumber].domain.com.

http://cruisecontrolnet.org/projects/ccnet/wiki/Parameters