2011-10-31 83 views
3

我是Jenkins的新手,刚开始配置它。这是我迄今为止所做的:Hudson/Jenkins PMD配置

  1. 安装并配置Jenkins以显示主页。添加了PMD插件。
  2. HUDSON_HOME设置为特定目录> C:\ Work \ Jenkins
  3. 配置测试版本以运行简单的无作用的ant脚本。它成功运行

  4. 写一个独立的pmdbuild.xml来运行C:\ myview中的一组文件(我使用的是clearcase)的检查。此xml还将输出pmd_results.xml复制到$HUDSON_HOME/[job-name]/workspace

  5. 中的工作空间目录现在我添加了pmdbuild.xml作为我主构建中的一个步骤。所以我的构建有两个步骤: a。运行一个简单的脚本,不做任何事情。 b。经营的P mdbuild.xml其产生pmd_results.xml并将其放置在$HUDSON_HOME/[job-name]/workspace(硬编码为詹金斯PMD插件预计有文件)

  6. 詹金斯与插件自动拿起pmd_results.xml并显示警告和一切。

现在的问题:

  • 如果我点击的PMD结果的文件名,它提供了filenotfound例外,因为它是寻找$HUDSON_HOME/[job-name]/workspace源文件。

  • 我的Java代码的文件都放在C:\ MyView的(在ClearCase快照视图)

我的问题是,我需要我所有的代码文件存在里面$HUDSON_HOME/[job-name]/workspace?我不能告诉詹金斯在C:\ myview或其他目录中寻找PMD输入文件,而不是$HUDSON_HOME/[job-name]/workspace

对不起,描述得非常漫长。

回答

3

詹金斯期望所有的代码都在工作区中。通常Jenkins用于将代码副本签出到工作区中,然后在Workspace中的源中运行所有构建步骤。

一开始似乎很有限制,但如果您需要将Jenkins移动到另一个服务器或创建一个从属实例,它可以节省很多麻烦。

所以我建议你让Jenkins将你的代码(应该有一个clearcase插件)签出到工作区中,然后在签出的代码上运行分析。

如果有令人信服的理由说明为什么你的代码必须保持在原来的位置(在你的情况下是C:\ myview),你仍然可以将你的构建的工作空间设置到该目录(在作业配置页面找到这个,你需要点击'扩展'按钮查看选项)。

+0

感谢很多..我找到了詹金斯大师配置中的选项并修复了这个问题。不同意詹金斯完全检查我的代码。它应该更多的是基于案件的基础而不是任何事情而不是强迫。 –

+1

当然,并非每项工作都应该检查出源。让一个工作检查源代码并构建它们是很有道理的,另一个工作是对构建源进行测试,另一个是执行一些代码分析。然而,让詹金斯检查消息来源仍然是最好的做法,而不是在詹金斯以外做。如果您使用Jenkins检查源代码,您将获得许多优势(如历史记录保留哪些源代码更改用于构建等)。 – pushy

+0

我确实有理由不签出,因为我的源代码包含40K +文件,而clearcase不是git :) –