0

我正在使用巡航控制来不断检查我的项目,到目前为止,它似乎比 continuum 工作得更好,除了一些小问题。

如果我有一个依赖于其他几个项目的项目,并且我更新了其中一个依赖项而不更新其版本号,因此不需要更改父 pom,则父级将永远不会重建。

这是可能的,还是我应该在每次更改后返回并继续增加 pom,然后根据需要在父母中进行相应的更改?

我希望这会自动完成(如果巡航控制有更紧密的 maven 集成),所以我会神奇地知道这种变化会破坏下游的某些东西。

我猜我的新格式可能是:

${date}.${buildNumber}

2009.12.18.1

谢谢,沃尔特

4

2 回答 2

1

如果您的项目在 maven 中处于父->子关系,则构建父级还应在每次使用 install 目标时使用新解决的依赖项构建其模块。

根据您的描述,听起来您没有带有模块的父项目,而是有几个独立的项目,它们之间存在依赖关系。在这种情况下,我建议你做两件事

  1. 更改您的 poms 顶层和您的版本以在最后包含 -SNAPSHOT。这迫使 maven 在指定的时间范围内检查任何依赖项的新版本 - 默认情况下每天。可以通过专门更改存储库的 updatePolicy 来更改此行为- 如果您愿意,可以让它每次都检查。当涉及到标记然后构建/发布您的项目时,您需要删除发布的 -SNAPSHOT 限定符,然后在增加版本号后重新添加它以支持您的下一个开发周期。
  2. In your CI server, you can force projects to build in succession. Since it looks like you switched to Hudson, it should involve setting up build trigger based on the completion of another project just like you'd like add a trigger for scm polling.
于 2009-12-20T03:30:39.877 回答
0

不幸的是,我对巡航控制知之甚少,无法直接回答您的问题。

但是,我对Hudson有过积极的体验。Hudson 被广泛用作 CI 服务器,是免费的,并且具有出色的 Maven 集成以及完美地处理您所描述的内容。

于 2009-12-19T05:52:03.347 回答