我正在使用Jenkins进行项目,并想知道以下是否可行。我有四个独立的SVN模块,作为工作的一部分进行检查。每个SVN模块都添加到一个单独的目录中。根据SCM轮询期间更新的模块,我只想构建某些目录。
使用Cruise Control,我能够为每个更新的模块设置一个变量,并将这些变量传递给ant构建脚本来控制构建。
有没有人做过类似的事情或有什么想法?
谢谢, 肖恩
答案 0 :(得分:1)
这个问题非常复杂。您正在触及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插件帮助的情况下做某事时,它会让你真正理解,你想要达到的关键是什么。
希望我有所帮助。干杯,队友。