2017-04-10 33 views
3

我有一個多分支管道作業,指向一個Bitbucket服務器存儲庫。如何保持多分支管道作業克隆主管上的回購

在Jenkinsfile上執行任何操作之前,它始終始終在主節點工作區中完成對存儲庫的完整克隆。

它爲每個分支創建一個新的工作區,並帶有新的資源庫克隆。

這不僅會花費大量時間用於某些較大的存儲庫,還會佔用主節點上的大量空間。

是否有可能做做任何以下的:

  1. 下載(和執行)Jenkinsfile沒有克隆完整存儲庫
  2. 克隆庫之外的另一個節點上比掌握
  3. 自動刪除自動刪除工作的工作區

回答

0

發現它真的很煩人。顯然這個問題目前沒有解決方法。要開始構建,Jenkins需要位於存儲庫中的Jenkinsfile,以便獲取完整的回購以找到它。更多信息可以在這裏找到:JENKINS-33273 Optimize Jenkinsfile loading and branch detection

主硬盤空間不足的解決方法是在作業完成後刪除存儲庫副本。只需將此片段附加到您的Jenkinsfile即可。

node('master') { 
    stage 'Cleanup repository from master node' 

    // Due to the MultiPipeLine problem with fetching full repository on the 
    // master node we need to manually cleanup the workspace to prevent trashing 
    // HDD with copies of the git repository 
    def workspace = pwd() 
    dir("${workspace}@script") { 
     deleteDir() 
    } 
} 
相關問題