Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
如何让jenkins在没有更改的情况下构建我的代码_Jenkins - Fatal编程技术网

如何让jenkins在没有更改的情况下构建我的代码

如何让jenkins在没有更改的情况下构建我的代码,jenkins,Jenkins,我正在使用Jenkins矩阵插件测试我的项目。我有一个上游,启动建设,是每天晚上在一个固定的时间发射。此构建执行签出和第一部分测试。然后将subversion url(SVN_url)和修订版(SVN_修订版)传递给下游构建。然后,下游构建使用传入的subversion url和修订签出源代码(这样,我知道上游和下游构建都针对相同的修订),并执行测试的第二部分 我遇到的问题是,下游作业有时不运行任何内容,表明自上次生成以来签出的源中没有任何更改(自上次生成以来没有任何更改)。我想让下游构建在每次

我正在使用Jenkins矩阵插件测试我的项目。我有一个上游,启动建设,是每天晚上在一个固定的时间发射。此构建执行签出和第一部分测试。然后将subversion url(SVN_url)和修订版(SVN_修订版)传递给下游构建。然后,下游构建使用传入的subversion url和修订签出源代码(这样,我知道上游和下游构建都针对相同的修订),并执行测试的第二部分

我遇到的问题是,下游作业有时不运行任何内容,表明自上次生成以来签出的源中没有任何更改(自上次生成以来没有任何更改)。我想让下游构建在每次调用时都进行构建,即使没有任何更改。有没有关于如何做到这一点的建议

谢谢

(根据问题编辑) 详细职位描述: 1.开始工作。定期运行。捕获SVN_URL和SVN_修订。第1部分作业和第2部分作业的火灾。不做任何其他事情。 2.第1部分作业和第2部分作业是矩阵作业,它们没有任何触发器。他们仅仅是由启动工作来管理的


第二部分工作是我的问题所在。奇怪的是,上述问题不会发生在part1作业中。

您可能会发现存储初始生成的生成输出并基于该工件运行下游作业是解决此问题的方法。我在这里对你在最初和以后的工作中所做的做了一些假设,但我们的经验可能会有所帮助

对于一些在初始构建和测试成功后执行较长测试的测试,我们现在使用工件系统存储第一个构建的构建结果,然后在下一个测试开始时检索这些结果以供执行。这对于可能需要多个测试并行运行的冗长构建过程尤其有效

例如,我们的系统如下所示:

  • 构建任务
  • OSX10.6上的GUI测试
  • OSX10.7上的GUI测试
  • OSX10.8上的GUI测试
  • 最初,我们以串行方式运行这些测试(全部在一个大的构建任务中),但后来我们更改了测试系统,以便我们可以并行运行GUI测试,并且需要一种有效的方法来获取特定作业的构建输出,并在每个测试环境上并行运行它

    我们的新系统运行方式如下:

  • 具有生成后操作的生成任务,以
    归档工件
  • 3个不同的任务,每个任务在一个环境中运行GUI测试,每个任务都从复制第一个构建阶段的工件开始(使用触发此作业的上游构建),然后使用这些工件作为测试的执行目标
  • 现在,我们的测试并行运行,并保证使用相同的构建。这增加了一个额外的好处,即每个构建只运行一次


    作为额外的好处,我们将进行GUI测试的3个任务减少为一个矩阵任务,但这可能与您的目的无关(但是,这确实为我们节省了大量工作)。

    您在构建触发器中设置了什么?以下是工作:1。启动(触发器:定期构建)。第1部分作业和第2部分作业的火灾。2.第1部分作业和第2部分作业没有触发器。第二部分工作是矩阵工作,我遇到了这个问题。它从启动作业中获取SVN_URL和SVN_修订。删除问题。原来我们的内部脚本中有一个bug,它会修改测试过滤器以消除矩阵元素。用户错误。很抱歉,谢谢你的回复。我确实使用来自上游作业的工件。不幸的是,我还需要下游作业来执行签出,这就是问题的开始——jenkins似乎执行签出,然后自己不运行测试,因为没有任何更改。你能回答关于触发器当前如何设置的问题吗?