我是新来的詹金斯,刚刚开始配置它。以下是我到目前为止所做的:
- 安装并配置Jenkins以显示主页。新增PMD插件
- 设置
HUDSON_HOME
到指定目录> C:WorkJenkins -
配置一个测试构建来运行一个简单的什么都不做的ant脚本。
-
写一个独立的
pmdbuild.xml
运行检查一组文件在C:myview(我使用clearcase)。此xml还将输出pmd_results.xml复制到$HUDSON_HOME/[job-name]/workspace
中的工作空间目录中。 现在我在我的主要构建中添加了
pmdbuild.xml
作为一个步骤。所以我的构建有两个步骤:a.运行简单脚本,不做任何操作。b.运行pmdbuild.xml
,生成pmd_results.xml
并将其放置在$HUDSON_HOME/[job-name]/workspace
中(硬编码为Jenkins PMD插件期望的文件)Jenkins使用插件自动拾取
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
??
抱歉,描述太长了
Jenkins期望所有的代码都在工作区中。通常使用Jenkins将代码的副本签出到工作区中,然后在工作区中的源代码上运行所有构建步骤。
一开始可能看起来很限制,但是如果你需要将Jenkins移动到另一个服务器,或者创建一个从属实例,它可以为你节省很多麻烦。
所以我建议你让Jenkins检出你的代码(应该有一个clearcase插件)到工作区,并在检出的代码上运行分析。
如果有令人信服的理由为什么你的代码必须留在原地(C:myview在你的情况下),你仍然可以将你的构建的工作空间设置到该目录(在作业配置页面中找到这个,你需要点击"扩展"按钮来查看选项)。