Continuous integration Hudson:仅当代码库或快照依赖项发生更改时才夜间构建

Continuous integration Hudson:仅当代码库或快照依赖项发生更改时才夜间构建,continuous-integration,hudson,nightly-build,Continuous Integration,Hudson,Nightly Build,我有一个单独的工作,在夜间建造一个项目。但我只想在项目的代码发生更改时构建它,或者构建了项目的快照依赖项 当代码库发生更改时,可以使用SCM轮询计划每晚构建一个项目。但是,我如何将它与“构建快照依赖项时构建”结合起来呢?我假设这些快照也作为作业存在于Hudson中。 (如果这是错误的,请在评论中说明) 对于每个项目,每晚进行一次SCM轮询(就像您所做的那样) 在相关作业中,转到生成触发器,并在生成其他项目后勾选生成(在“每当生成快照依赖项时生成”下),然后输入您提到的快照项目。不要勾选“每当生

我有一个单独的工作,在夜间建造一个项目。但我只想在项目的代码发生更改时构建它,或者构建了项目的快照依赖项


当代码库发生更改时,可以使用SCM轮询计划每晚构建一个项目。但是,我如何将它与“构建快照依赖项时构建”结合起来呢?

我假设这些快照也作为作业存在于Hudson中。 (如果这是错误的,请在评论中说明)

  • 对于每个项目,每晚进行一次SCM轮询(就像您所做的那样)
  • 在相关作业中,转到生成触发器,并在生成其他项目后勾选生成(在“每当生成快照依赖项时生成”下),然后输入您提到的快照项目。不要勾选“每当生成快照依赖项时生成”
  • 转到高级项目选项,勾选上游项目正在构建时的块构建
  • 您可能还需要留出轮询时间,因此,如果第一个轮询时间为“0 0***”,则可以将下一个轮询时间设置为“0 1***”(即,在下一个轮询时间后1小时)

我假设这些快照也作为作业存在于哈德逊河中。 (如果这是错误的,请在评论中说明)

  • 对于每个项目,每晚进行一次SCM轮询(就像您所做的那样)
  • 在相关作业中,转到生成触发器,并在生成其他项目后勾选生成(在“每当生成快照依赖项时生成”下),然后输入您提到的快照项目。不要勾选“每当生成快照依赖项时生成”
  • 转到高级项目选项,勾选上游项目正在构建时的块构建
  • 您可能还需要留出轮询时间,因此,如果第一个轮询时间为“0 0***”,则可以将下一个轮询时间设置为“0 1***”(即,在下一个轮询时间后1小时)

我不太明白你的建议。我只想在晚上建造这个项目。我不想在快照依赖关系更改时立即生成项目。编辑了我的答案,希望现在更清楚。我假设配置是从默认值开始的。如果项目A依赖于项目B,那么您的解决方案假设我有两个夜间构建作业——一个用于项目A,另一个用于项目B?我想要的是两份工作——一份是项目A的夜间构建工作,另一份是“普通”(在scm变更中)的工作,一份是项目B的工作。然后为同一个项目创建一个新的Hudson工作。现在你有了A,B,B。我不太明白你的意思。我只想在晚上建造这个项目。我不想在快照依赖关系更改时立即生成项目。编辑了我的答案,希望现在更清楚。我假设配置是从默认值开始的。如果项目A依赖于项目B,那么您的解决方案假设我有两个夜间构建作业——一个用于项目A,另一个用于项目B?我想要的是两份工作——一份是项目A的夜间构建工作,另一份是“普通”(在scm变更中)的工作,一份是项目B的工作。然后为同一个项目创建一个新的Hudson工作。现在你有了A,B,B。