2012-05-14 72 views
1

我是Jenkins CI工具的新手,我想知道是否可以指定在不同的SVN位置上有多个项目相互依赖的情况下使用哪个构建。例如,如果我拥有SVN location1上的Web项目和SVN location2上的后端项目,并且Web依赖于后端,并且其中一个开发人员修改了后端中的某些内容,则当Web开发人员进行提交时,将会出现构建失败。是否有可能指定来自Web部件的构建应考虑从后端构建x而不是最新构建?Jenkins-多个位置SVN。是否可以指定构建版本

在此先感谢。

回答

0

是的,可以做到。在Jenkins中检查构建触发器选项在您的项目web设置和在线构建其他项目之后构建您可以指定要在基础项目发生更改后自动构建的项目的名称。

同样,在生成后操作,寻找构建其他项目,在那里你可以指定,如果基础项目成功生成,它会自动触发对儿童项目建设。

希望这会有所帮助。

+0

和它的作品,即使这些项目处于不同的位置SVN? –

+0

所以,我可以指定自动构建的子项目。但是,如果我在位置A上有父项目,在位置B上有子项目,并且子项目已被修改,那么我可以告诉詹金斯使用孩子的旧版本构建父项目吗?而不是当前版本。因为可能发生父母的最新版本与孩子的最新版本不兼容。 –

+0

“即使项目在不同的svn位置?”是。对于Jenkins中的每个项目,您可以指定访问源代码的位置。然后,当版本为nb时,它会变得更加复杂一些,但是您可以从Jenkins项目配置页面中执行此操作。在你指定代码位置的地方,你也可以包含在哪个版本的nb中,像svn一样检查(url @ 123)。但是你可能想把这种逻辑放在一个脚本文件中。 – fduff

0

您对另一个项目的特定版本构建项目的示例有点不标准,但并非不可能。

就你而言,我会使用Jenkins的能力来执行任意脚本来提供帮助。该脚本将照顾获得正确的版本的项目,我想构建一个依赖。您在Web和后端项目的例子

大厦,这里就是我会做的事情,而无需使用参数化的构建:

  1. 将文件添加到Web项目的存储后端的版本库要使用的项目
  2. 配置作业以在SVN中后端项目的源发生更改时构建Web项目。
    1. 项目应该检查最新版本的Web项目的
    2. 该项目将是一个脚本的第一生成步骤(执行shell或执行Windows批处理命令)执行以下操作:
      1. 获取从包含版本信息的文件中使用的后端版本
      2. 从后端的存储库中提取适当版本的后端;或拉的后端的源
    3. 相应版本的源(如果你拉只为后端源,下生成步骤应该是建立后端下一个)
    4. 构建Web件
    5. 做任何单元测试
相关问题