簡體   English   中英

Jenkins Pipeline - Workflow CPS插件JAR依賴項

[英]Jenkins Pipeline - Workflow CPS plugin JAR dependencies

我正在為Jenkins Pipeline Shared Groovy Library中使用的代碼實現單元測試。 特別是,我需要模擬Jenkinsfile中可用的steps對象,它是org.jenkinsci.plugins.workflow.cps.DSL一個實例。 在我的Gradle構建中,我已經指定了一個依賴項,如下所示:

testCompile group: 'org.jenkins-ci.plugins.workflow', name: 'workflow-cps', version: '2.30', ext: 'jar'

這是主持上述課程的項目。 如果不將ext指定為JAR,Gradle將檢索.hpi文件,因為這是項目的pom.xml中定義的包。 顯然我需要覆蓋它並為我的項目獲取JAR。 但是,在執行此操作時,Gradle不會下載workflow-cps JAR的傳遞依賴項,並且我發現自己必須使用通過反復試驗確定的所有依賴項來填充我的build.gradle。 有沒有辦法檢索傳遞依賴項,或者這是workflow-cps項目的限制以及它如何定義其pom.xml?

您想要模擬的CPS類不包含插件或工作流庫引入的方法/變量,因此這種方法可能不會完全令人滿意。

面對同樣的挑戰,我采取了實用的方法,在我的測試源和Mock中創建自己的TestScript接口,而不是在類中鍵入腳本引用。

缺點是沒有對引用腳本的東西進行IDE代碼檢查,並且在添加測試時不得不手動將簽名添加到TestScript(這也很容易出錯,因為我手動確保這些簽名匹配)。

但它有效,並避免被拖入插件依賴地獄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM