3

我正在将 Jenkins 用于一个项目,并想知道以下是否可行。我有四个独立的 SVN 模块,它们作为工作的一部分被检出。每个 SVN 模块都添加到一个单独的目录中。根据 SCM 轮询期间更新的模块,我只想构建某些目录。

使用 Cruise Control,我能够为每个更新的模块设置一个变量,并将这些变量传递给 ant 构建脚本以控制构建。

有没有人做过类似的事情或有任何想法?

谢谢,肖恩

4

1 回答 1

2

这个问题相当复杂。您正在接触 CI 构建服务器的太多不同部分以及其中的一些任务。

基本上......在 Jenkins 中为工作/项目提供控制构建本身行为的信息并不是最好的方法,但如果你别无选择,那么你别无选择。

构建本身应该足够不可知,它应该包含使构建能够在 CI 和 Workstation 中成功的所有参数(例如,来自 cmd.exe)。

根据 SCM 轮询期间更新的模块,我只想构建某些目录。

所以基本上你想要 Maven 构建系统,它提供基于模型/模块的条件构建,而不是像 Ant 那样构建一个单独的项目。

使用 Cruise Control,我能够为每个更新的模块设置一个变量,并将这些变量传递给 ant 构建脚本以控制构建。

在这里,您希望拥有某种类似的构建触发功能。这里没有更详细的需求解释,我只能建议查看 Pramatreized Build Trigger 插件,它允许通过您设置的参数触发构建。

有没有人做过类似的事情或有任何想法?

最后,在这里你还可以查看这个插件:https ://wiki.jenkins-ci.org/display/JENKINS/Conditional+BuildStep+Plugin

总之,Jenkins 提供了一些开箱即用的功能,因此如果您使用 Ant,您可以轻松使用环境变量并开始构建您需要的行为。通常在花费一些时间思考如何在没有大量 Jenkins 插件帮助的情况下做某事之后,它会以某种方式让你真正理解,你想要实现的关键是什么。

希望我有所帮助。队友的欢呼声。

于 2013-12-08T18:46:48.653 回答