我正在将 Jenkins 用于一个项目,并想知道以下是否可行。我有四个独立的 SVN 模块,它们作为工作的一部分被检出。每个 SVN 模块都添加到一个单独的目录中。根据 SCM 轮询期间更新的模块,我只想构建某些目录。
使用 Cruise Control,我能够为每个更新的模块设置一个变量,并将这些变量传递给 ant 构建脚本以控制构建。
有没有人做过类似的事情或有任何想法?
谢谢,肖恩
我正在将 Jenkins 用于一个项目,并想知道以下是否可行。我有四个独立的 SVN 模块,它们作为工作的一部分被检出。每个 SVN 模块都添加到一个单独的目录中。根据 SCM 轮询期间更新的模块,我只想构建某些目录。
使用 Cruise Control,我能够为每个更新的模块设置一个变量,并将这些变量传递给 ant 构建脚本以控制构建。
有没有人做过类似的事情或有任何想法?
谢谢,肖恩
这个问题相当复杂。您正在接触 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 插件帮助的情况下做某事之后,它会以某种方式让你真正理解,你想要实现的关键是什么。
希望我有所帮助。队友的欢呼声。