我在Jenkins上爲Maven項目建立了一個構建,並且我想在不運行任何測試的情況下構建它。我試着進入目標領域的「乾淨安裝-DskipTests」,像這樣:在Jenkins中跳過測試
但它不工作。我做錯了什麼?
注意:我想跳過測試,而不碰pom。我有一個單獨的版本,可以運行測試。
我在Jenkins上爲Maven項目建立了一個構建,並且我想在不運行任何測試的情況下構建它。我試着進入目標領域的「乾淨安裝-DskipTests」,像這樣:在Jenkins中跳過測試
但它不工作。我做錯了什麼?
注意:我想跳過測試,而不碰pom。我有一個單獨的版本,可以運行測試。
問題是我省略了=true
。我能夠進入,但不運行測試,以建立:
clean install -DskipTests=true
你能否提供你的maven-surefire-plugin和jenkins的版本?對於我最新的LTS版本以及surefire 2.17,「-DskipTests」工作得很好。找出發生這種情況的原因很有意思。 – Behe
使用「目標和選項」值「全新安裝-DskipTests =真」。
它就像一個魅力。我使用這個選項節省了數小時的時間。 :-)
我在「調用頂級Maven目標」 - >「JVM選項」中使用選項「-DskipTests = true」,它工作正常。
只是延長了答案,Maven有跳繩測試2種選擇:
-DskipTests=true
- 被提到的一個。有了這個參數,maven完全忽略了測試。
-Dmaven.test.skip=true
- 使用此選項,maven編譯測試,但不啓動它們。
因此,您可能希望使用第二個選項代替快速代碼編譯驗證。 E.G .:如果你開發一些圖書館或模塊供其他人使用,你必須確保你沒有制定與客戶的合同。測試編譯可以幫助你做到這一點。
根據您的需要使用這些參數中的任何一個。
謝謝@iMysak,這實際上是我以前不知道的非常有用的信息。 :) –
你指定的maven目標很好......只是不指定「測試」目標,你應該是金手指。 – sircapsalot
@sircapsalot我很困惑......我如何在上面的例子中指定'test'目標?還是你說我在別的地方指定它? –
我只是說,只要你*不把*測試'目標,它不應該運行測試。如果你只是指定'乾淨安裝'它正在運行測試?如果是這樣,你可以發佈pom嗎? – sircapsalot