5

我刚刚开始Jenkins 1.487并想将 Jenkins 集成到我的 Ant 项目中。但是在配置它时,我找不到任何方法让 Jenkins 重新使用已经签出的代码库,而不是下载相对于其工作区根目录的新副本。有没有办法做到这一点 ?

我尝试手动指定一个自定义工作区(我的代码库已经签出),然后单击“立即构建”。结果是它清除了我当前签出的代码说

"Checking out a fresh workspace because there's no workspace at /home/daud/Work
Cleaning local Directory ."

连个警告都没有。。

4

3 回答 3

7

如果您真的想从文件系统某处的现有签出处构建,请不要使用 Jenkins 的“源代码管理”部分。将其保留为“无”

  • 直接进入“构建”部分
  • 点击“添加构建步骤”
  • 选择调用 Ant"
  • 单击高级
  • 在“构建文件”下,提供文件系统上 ant 构建文件的完整路径。您必须包含驱动器号(如果在 Windows 上)或前导 /(如果在 Linux 上)以脱离工作区(默认情况下,此路径是相对于工作区的)。或者,如果需要,使用大量 ../../../..。

但就像其他人所说的那样,这不是 CI 系统应该使用的方式

于 2012-11-02T14:03:52.143 回答
1

Jenkins 和 CI 背后的想法是它适用于代码库的副本。Jenkins 完成的每个构建都不应该依赖于任何外部前提条件,并且应该是可重现的。

于 2012-11-02T09:52:20.250 回答
0

您可能想尝试使用 Jenkins 的克隆工作区 SCM 插件。它将允许您从一项工作压缩工作空间,并使用它为另一个工作创建工作空间。我已经将它用于需要对先前工作的工作采取行动的下游工作。

如果您使用 Git 之类的东西进行源代码控制并希望避免第二次 Git 克隆(或 SVN 签出),这也很有帮助。此外,您可以限制用于重新创建工作空间的 zip 文件的内容,例如避免将不必要的文件(例如,.git.svn目录)传送到下游。

于 2015-11-16T21:16:36.547 回答