2011-10-31 87 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 :) –