1

我们有一个很好的 UCM Clearcase 系统。我们在集成流上进行了适当的夜间构建,并且我已经为各种站点配置了 CruiseControl.NET。

问题是在构建失败的情况下,没有应用基线。这迫使开发人员修复构建服务器本身的问题。

这是非常不希望的。我想应用基线并使其 * REJECT * ed。然后要求开发人员通过基于 REJECTed 基线来解决问题。

我应该如何在以下流配置中做到这一点:

MainStream

    |
    |---Germany_Stream
           |
          / \
          Multiple developer streams
    |
    |---USA_Stream
           |
          / \
          Multiple developer streams

开发人员将变更集交付到他们的站点。那是德国开发者到德国流和美国开发者到美国流。

然后将这些更改推送到 MainStream。每晚的构建发生在那里。应在 MainStream 应用基线,并建议在构建通过时使用。如果失败,则需要应用基线并 * REJECT * ed。如何让低于 MainStream 两个级别的开发人员可以使用* REJECT *ed 基线?

请告诉我如何让开发人员遵循最佳实践并阻止他们在构建服务器中进行更改。

4

1 回答 1

1

如何使 *REJECT*ed 基线可供低于 MainStream 两个级别的开发人员使用?

如果您正在考虑变基,则需要在站点流(美国或德国)上变基,然后变基开发流。

这可能是一个很好的方法,因为每个流都可以选择从站点流变基(拉取方法)到他们的开发流。
唯一的问题是它需要在流(美国或德国)中进行合并,该流也被开发人员用于交付:可能会发生冲突。

我建议为 Main 创建一个子流,称为Rejected_Stream,可以随意重新设置基础(并将获得最新的REJECT基线)。
从那里,任何开发人员都可以选择从该流启动交付到他们自己的开发流。

这种方法的问题是每次交付都必须按顺序进行。

于 2013-01-30T09:51:43.067 回答