ディスク容量を解放した後、Jenkinsノードはオンラインに戻りません。

ディスク容量を解放した後、Jenkinsノードはオンラインに戻りません。

私が探していますhttps://unix.stackexchange.com/search?q=jenkins&ジェンキンスサポートhttps://issues.jenkins.io

私はこの問題を解決する方法を見つけることができませんでした。

初期状態

ノードとマスターにディスク領域の問題があるため、パイプラインはトリガーされなくなりました。

スペースの問題が解決された後でも、ノードはオフラインのままになり、新しい状態は無視されます。

これらのノードをオンラインに更新するにはどうすればよいですか?

建築学:

  • ホスト接続は、実行中のステップ/パイプラインに応じてjava / gitとsshを使用します。
  • パイプラインは通常、gitを使用して最終的なGroovyファイルとスクリプトファイルを取得し、ノード上でjenkins Groovyファイルも実行します。
  • ステップは、ノードにアクセスし、スクリプトを実行する必要があるときにbashまたはpowershellアクセスからsshを呼び出すことです。

完璧:

  • デフォルトのJenkinsサーバーで/ 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
  • マスター Jenkins サーバーで Jenkins サービスを再起動します。

    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

もしそうなら、Jenkinsはディスクスペースの問題を無視して解決しました。

ベストアンサー1

あなたのコメントや質問に基づいて編集されました。スペースの問題は、ホストRHELシステムとは関係がないようです。

問題は「Windowsイメージ」にあります(仮想マシンを意味するようです)。スペースの問題は、明らかにF:\jenkins2Windowsドライブ文字F:とパスのバックスラッシュパス区切り文字を含むWindowsパスについて話しています\。 Linuxパスの場合はパスがなく、スラッシュをパス区切り文字として:使用します。/

「最小Windowsイメージ」の範囲外のこれらのVMタイプに関する情報を提供していないため、既存のイメージをクリーンアップする方法に関する提案を提供することはできません。これを行うには、イメージ内でコマンドラインを実行し、ファイルを手動で削除する必要があります。

あなたができることは...

  • 既存のビルドに引き続きアクセスできることを確認してください(ビルドノードにのみ保存されていない)。これを行うには、Jenkinsにログインして、Windowsビルドからビルド成果物をダウンロードし続けることができることを確認してください。
  • ビルドイメージを削除して再作成します。仮想マシンソフトウェアによっては、以前のバージョンに復元することも可能です。

今後はJenkinsをチェックしてみるのも良いでしょう。ディスク領域管理オプション。あなたのビルドノードが維持される必要がない古いビルドで埋められているようです。

おすすめ記事