如何使用Hudson构建多个具有相同svn版本号的项目?

4

我刚开始使用Hudson,希望像我的手工解决方案一样构建我的项目:

  1. 检索当前的svn修订号rev
  2. 使用修订号rev构建所有项目(每个项目都有单独的结果)。
  3. 无论期间是否有任何更改,重新从步骤1开始(以检测不确定错误,这些错误不会在每次测试运行时发生)。

我如何使用hudson进行配置?

4个回答

3

扩展sjohnston的帖子。你可以使用Clone Workspace SCM Plugin,而不是将代码检出到已知位置。现在你可以引用第一份工作的检出。

此外,您可以传递修订号并将其作为参数传递给构建作业。构建作业可以通过使用修订号检索正确版本的代码。


非常好!我不知道那個插件。 - sjohnston
这是一个相当新的插件,基于一个相当古老的Ticket。 :) - Peter Schuetze

2
Hudson不支持将单个SVN检出用于多个作业,但您可以尝试以下两种方法之一:
1. 设置一个作业,仅将检出结果放在已知目录中。勾选post-build-actions > build other projects框,并添加所有构建作业。设置每个构建作业定期复制最新的检出结果,以便在没有检入时也能继续构建。可能需要使用Locks and Latches插件,在检出作业和构建作业之间设置锁定,以避免两个作业同时复制/修改文件。
2. 设置一个作业,包含每个项目的构建步骤,并将其链接在一起。然后只需勾选Build Periodically触发器,让它按照您所需的频率运行即可。
虽然这些方法看起来有些混乱,存在潜在问题,但它们可能会奏效。

1

我对这个问题的看法:

使用 SVN提交后钩子触发一个初步的作业,其中a)检出代码;b)获取SVN修订版(例如通过SVNVERSION.EXE);并使用 Parameterized Trigger plugin 在特定的SVN修订号处触发“真正的”构建作业。

这样,您可以将SCM连接与实际构建分开,以便您可以非常具体地构建每个修订版。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接