我需要在構建開始之前清除工作區。我試着分階段使用cleanDir()
,但是在聲明式管道中,首先檢查出現,並且在cleadDir
運行的階段,檢出的代碼也被清除,這是不需要的。我們如何才能在聲明式管道中檢出之前清除工作區?如何在作業開始前清除Jenkins管道中的工作區
回答
像這樣的東西應該工作:
env.WORKSPACE = pwd()
sh "rm ${env.WORKSPACE}/* -fr"
當從一個步驟調用時,這也會刪除簽出的代碼。 – rashidcmb
這會刪除整個工作區,就像你問的那樣。在檢查代碼之前,我找到了一份工作,因此對我來說這有點合理。 – Frankenstein
當你在簽出代碼之前說,你是否在管道的下一步檢查了代碼? – rashidcmb
一個稍微不同的方法是使用stash step藏匿代碼第一:
stash includes: 'src/**', name: 'source-code'
之後,你可以在你當前的工作區刪除一切。在稍後的階段,你可以簡單地unstash再次源代碼:
unstash 'source-code'
藏匿的另一個優點/ unstash是,你可以用它來共享多個詹金斯節點間的文件。
看起來像@StephenKing答案是最簡單的方法。一舉成立,投入實際項目並檢查影響。 – rashidcmb
同意。 'git clean'是一個很好的解決方案。在多節點環境中運行時,認爲存儲/非存儲方法值得分享,因爲它非常方便。 – fishi
如果您將數據傳輸到主設備並返回,將不會很有趣。 – StephenKing
其實,我有一個基於最新的變動管道的插件,例如修改我的答案GitHub Branch Source Plugin 2.2.0與JENKINS-43507。
除了不同的分支發現行爲,其可以被配置,現在可以定義附加的要採取的步驟,其中包括清潔結帳之前(和清潔結帳後):
的結果管道執行中的輸出將爲
Cleaning workspace > git rev-parse --verify HEAD # timeout=10 Resetting working tree > git reset --hard # timeout=10 > git clean -fdx # timeout=10
所以,自己很靠近打電話git clean
。
更新後我發現這個選項。如果我們有多個管道工作,並且我們可能不需要刪除所有分支。在這種情況下,使用git clean會更容易。 – rashidcmb
stage('Git') {
steps {
step([$class: 'WsCleanup'])
checkout scm
}
}
的WsCleanup的伎倆
- 1. 使用管道作業初始化Jenkins
- 2. jenkins管道中的訪問工作區
- 3. 如何在Jenkins中刪除不可阻擋的管道作業?
- 4. Jenkins管道作業構建
- 5. 如何禁用jenkins管道作業
- 6. Jenkins管道插件傳遞建立作業參數之間的作業開始在管道
- 7. Jenkins管道作業中的Artifactory配置
- 8. Jenkins 2管道工作區xxx @腳本
- 9. 如何從Jenkins作業工作區刪除構建
- 10. 如何從聲明式管道中的其他作業開始作業?
- 11. 如何在Jenkins工作流程(管道)插件中執行作業dsl腳本
- 12. Jenkins多分支管道:構建結束時清理工作區/刪除目錄
- 13. 管道多個jenkins工作
- 14. 如何在Jenkins管道作業中傳遞信息
- 15. 如何通過jenkins中的另一個管道作業構建並獲取管道作業的構建日誌
- 16. 如何查看Pipeline作業上的Jenkins工作區?
- 17. 執行批處理腳本在Jenkins管道作業中不工作
- 18. jenkins:清理未使用的工作區
- 19. 如何控制工作區Jenkins開始構建?
- 20. 如何使用與Jenkins的cucumber-jvm報告管道作業
- 21. Jenkins管道 - 在工作區創建文件(Windows從站)
- 22. 如何在jenkins管道(以前稱爲工作流)中啓動bash登錄shell?
- 23. 如何清除Visual Studio工作區
- 24. Jenkins:用Groovy清理工作區
- 25. 如何避免Jenkins多分支管道作業觸發本身
- 26. 如何從GitHub拉取請求觸發Jenkins 2.0管道作業
- 27. 如何通過SCM更改觸發jenkins管道作業?
- 28. 如何使用一個工作區的所有管道工作?
- 29. 通過GUI刪除Jenkins作業不會刪除它們的從屬工作區
- 30. Jenkins中Matrix作業的父節點工作區
怎麼樣運行'git的清潔-fdx' _after_結賬,讓Git的處理剩下的? – StephenKing
這適用於一個簡單的項目。必須檢查一個真實的項目。 @StephenKing我如何接受評論作爲答案。 – rashidcmb
將其作爲答案發布。 – StephenKing