Jenkins-多个位置SVN。是否可以指定构建版本

时间:2012-05-14 13:27:37

标签: continuous-integration jenkins

我是Jenkins CI工具的新手,我想知道是否可以指定在不同的SVN位置上有多个项目时依赖于彼此的构建。例如,如果我有SVN location1上的Web项目和SVN location2上的后端项目,并且Web依赖于后端,并且其中一个开发人员在后端修改了某些内容,那么当Web开发人员执行提交时,将会出现构建失败。是否有可能指定Web部件的构建应考虑从后端构建x而不是最新构建?

提前致谢。

2 个答案:

答案 0 :(得分:0)

是的,可以做到。在Jenkins中检查项目Web设置中的构建触发器选项,并在构建其他项目后构建行中,您可以指定要自动构建的项目的名称在对基础项目进行了更改之后。

同样,在构建后操作中,查找构建其他项目,您可以在其中指定如果基础项目成功构建,它将自动触发以儿童项目为基础。

希望这有帮助。

答案 1 :(得分:0)

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

在你的情况下,我会使用Jenkins的能力来执行任意脚本来提供帮助。该脚本将负责获取我想要构建的项目的正确版本。

在您的Web和Backend项目示例的基础上,我将在不使用参数化构建的情况下执行操作:

  1. 将文件添加到Web项目的存储库中,该项目存储要使用的后端项目的版本
  2. 配置作业,以便在SVN中后端项目的源更改时构建Web项目。
    1. 项目应该检查最新版本的Web项目
    2. 项目的第一个构建步骤是执行以下操作的脚本(执行Shell或执行Windows批处理命令):
      1. 从包含版本信息
      2. 的文件中获取要使用的后端版本
      3. 从Backend的存储库中提取适当版本的Backend;或者拉出适当版本的Backend源代码的来源
    3. (如果您仅为后端提取源代码,则下一个构建步骤应该是构建后端的后端)
    4. 构建网页
    5. 进行任何单元测试