Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Continuous integration 詹金斯-多地点SVN。是否可以指定生成版本_Continuous Integration_Jenkins - Fatal编程技术网

Continuous integration 詹金斯-多地点SVN。是否可以指定生成版本

Continuous integration 詹金斯-多地点SVN。是否可以指定生成版本,continuous-integration,jenkins,Continuous Integration,Jenkins,我是Jenkins CI工具的新手,我想知道当存在多个项目、位于不同SVN位置、相互依赖时,是否可以指定要使用的构建。例如,如果我在SVN location1上有web项目,在SVN location2上有后端项目,并且web依赖于后端,并且其中一个开发人员在后端修改了某些内容,那么当web开发人员执行提交时,将出现构建失败。是否有可能指定来自web部件的构建应该考虑来自后端的构建x,而不是最新的构建 提前谢谢。是的,可以这样做。在Jenkins中,检查project web设置中的“生成触发器

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


提前谢谢。

是的,可以这样做。在Jenkins中,检查project web设置中的“生成触发器”选项,并在生成其他项目后的“生成”行中,可以指定要在对基础项目进行更改后自动生成的项目的名称

类似地,在构建后操作中,查找构建其他项目,您可以指定如果基本项目成功构建,它将自动触发基于子项目的构建


希望这能有所帮助。

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

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

以您的Web和后端项目为例,以下是我在不使用参数化构建的情况下的做法:

将文件添加到存储要使用的后端项目版本的Web项目存储库中 在SVN中更改后端项目的源时,配置作业以生成Web项目。 项目应检查Web项目的最新版本 项目的第一个构建步骤是脚本执行Shell或执行Windows批处理命令,该命令执行以下操作: 从包含版本信息的文件获取要使用的后端版本 从后端的存储库中提取相应版本的后端;或提取后端源的适当版本的源 如果您仅为后端提取源代码,那么下一个构建步骤应该是下一步构建后端 构建Web部件 做单元测试吗
即使项目位于不同的svn位置,它也可以工作?因此,我可以指定自动生成哪些子项目。但是如果我在位置A上有父项目,在位置B上有子项目,并且子项目被修改了,我能告诉Jenkins以某种方式使用子项目的旧版本来构建父项目吗?而不是当前版本。因为最新版本的父版本可能与最新版本的子版本不兼容。即使项目位于不同的svn位置?对对于Jenkins中的每个项目,您可以指定访问源代码的位置。然后,wrt版本nb,它变得有点复杂,但您可以从Jenkins项目配置页面执行此操作。在指定代码位置的地方,还可以包括在哪个版本的nb上使用svn-like签出url@123. 但是,您可能希望将这种逻辑放在脚本文件中。