Ant 哈德逊/詹金斯PMD配置

Ant 哈德逊/詹金斯PMD配置,ant,hudson,jenkins,pmd,Ant,Hudson,Jenkins,Pmd,我是Jenkins的新手,刚开始配置它。这就是我到目前为止所做的: 已安装并配置Jenkins以显示主页。添加了PMD插件 将HUDSON\u HOME设置为特定目录>C:\Work\Jenkins 将测试生成配置为运行简单的do nothing ant脚本。它运行成功 编写了一个独立的pmdbuild.xml来检查C:\myview中的一组文件(我使用的是clearcase)。此xml还将输出pmd_results.xml复制到$HUDSON_HOME/[job name]/workspace

我是Jenkins的新手,刚开始配置它。这就是我到目前为止所做的:

  • 已安装并配置Jenkins以显示主页。添加了PMD插件
  • HUDSON\u HOME
    设置为特定目录>C:\Work\Jenkins
  • 将测试生成配置为运行简单的do nothing ant脚本。它运行成功

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

  • 现在,我添加了
    pmdbuild.xml
    作为我的主构建中的一个步骤。因此,我的构建有两个步骤: A.运行一个简单的脚本,什么也不做。 B运行p
    mdbuild.xml
    ,生成
    pmd_结果.xml
    ,并将其放入
    $HUDSON_HOME/[job name]/workspace
    (硬编码为Jenkins pmd plugin所需的文件)

  • Jenkins使用插件自动拾取
    pmd_results.xml
    ,并显示警告和所有内容

  • 现在的问题是:

    • 如果我单击PMD结果中的文件名,它会在
      $HUDSON\u HOME/[job name]/workspace
      中查找源文件时出现
      filenotfound
      异常

    • 我的java代码文件放在C:\myview(clearcase快照视图)中

    我的问题是,我是否需要所有代码文件都出现在
    $HUDSON_HOME/[job name]/workspace
    中??意思是我不能告诉Jenkins在C:\myview或任何其他目录中查找PMD输入文件,而不是
    $HUDSON_HOME/[job name]/workspace


    抱歉,描述太长。

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

    一开始可能看起来有些拘束,但如果您需要将Jenkins移动到另一台服务器,或者创建一个从属实例,这会为您节省很多麻烦

    因此,我建议您让Jenkins将您的代码(应该有一个clearcase插件)签出到工作区中,并对签出的代码运行分析


    如果有令人信服的理由说明代码必须保持原样(在您的例子中是C:\myview),您仍然可以将构建的工作区设置到该目录(在作业配置页面中找到该目录,您需要单击“扩展”按钮查看该选项)。

    谢谢。。我在master Jenkins配置中找到了该选项并修复了该问题。不要完全同意詹金斯检查我的代码。它应该更多的是个案基础,而不是强迫性的。当然,不是每一份工作都应该查看来源。让一个作业检查并构建源代码,另一个作业对构建源代码执行测试,另一个作业执行一些代码分析,这是非常有意义的。然而,最好的做法仍然是让Jenkins检查来源,而不是在Jenkins之外进行检查。如果您与Jenkins一起签出源代码,您将获得许多优势(例如保留在哪个构建中使用了哪些源代码更改的历史记录等)。我确实有理由不签出,因为我的源代码包含40K+文件,而clearcase不是git:)