Disk-Usage

釋放磁碟空間後,詹金斯節點不會重新上線

  • February 11, 2021

我查看了https://unix.stackexchange.com/search?q=jenkins & Jenkins 支持https://issues.jenkins.io

我沒有找到如何解決這個問題。

初始狀態

節點和主伺服器存在磁碟空間問題,不再觸發管道。

解決空間問題後,節點仍處於離線狀態,忽略新狀態。

如何將這些節點刷新為線上狀態?

建築學 :

  • 主機連接使用 java / git & ssh 取決於步驟/管道正在執行
  • 管道通常使用 git 來獲取最後的 groovy & 腳本文件;& 還在節點上執行 jenkins groovy 文件
  • 當需要訪問節點和執行腳本時,步驟是在 bash 或 powershell 訪問上呼叫 ssh。

完畢 :

  • 清理主詹金斯伺服器上的 /var/lib

find . -name "xxxx" -atime +365 -exec rm {} \;

  • 清理每個節點上的應用程序驅動器
   $limit = (Get-Date).AddDays(-30)
   $path = "xxxxxxx"
   Get-ChildItem -Path $path -Recurse -Force -filter XXXXX | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force
  • 在主詹金斯伺服器上重新啟動詹金斯服務

sudo systemctl restart jenkins

目前狀態 :

  • 這些節點保持離線(並且仍然顯示為錯誤相同的空間量警告,這就像它沒有讀取/檢測新的可用空間
   Disk space is too low. Only 0.000GB left on F:\jenkins2.
   
   Agent is connected.

例如在機器上:

DriveType    : 3
ProviderName :
FreeSpace    : 255938342912
Size         : 449998483456
VolumeName   : Disk2

所以詹金斯忽略有關磁碟空間的問題得到解決並保持點頭離線如何讓他們再次線上?

根據您的評論和問題編輯。看來空間問題與您的主機 RHEL 系統無關。

問題在於您的“Windows 映像”(我想您的意思是虛擬機)。空間問題顯然是在談論F:\jenkins2包含 Windows 驅動器號F:和路徑反斜杠路徑分隔符的 Windows 路徑\。如果它是 linux 路徑,則路徑中將沒有任何:內容,它將使用正斜杠/作為路徑分隔符。

除了“最小 Windows 映像”之外,您還沒有提供有關這些 VM 類型的資訊,因此我無法提供有關如何清除現有映像的任何建議。為此,您可能需要在映像中執行命令行並手動刪除文件。

你能做的是…

  • 確認您現有的建構仍然可以訪問(並且不僅儲存在建構節點中)。為此,只需登錄 Jenkins 並檢查您是否仍然可以從 Windows 建構下載建構工件。
  • 銷毀您的建構映像並重新創建它們。根據您的 VM 軟體,可能會將它們恢復到早期版本。

我還建議您將來檢查 Jenkins磁碟空間管理選項。我懷疑您的建構節點已經填滿了他們不需要保留的舊建構。

引用自:https://unix.stackexchange.com/questions/632388