ジェンキンスのスペースを使い果たしそうになったときに参考になります。 私たちは
CI サービスの現在のディスク使用量を見る方法を提供しました。 Jenkinsサービスの
にログインし、サイドバーの「ディスクの使用状況」に移動します。
をこのタブに移動すると、
のJenkinsホームディレクトリ、 `/var/jenkins_home`、およびサブディレクトリのディスク使用量の内訳が表示されます。
この機能はバージョン >= `3.2.10` または `4.0.7`で利用可能です。 `/var/jenkins_home/workspace` フォルダによって消費される
のスペースが大きい場合は、赤色の
フラグを立てる必要があります。 ワークスペース`フォルダには各ビルドの一時フォルダが含まれており、ビルド実行後に
をクリアする必要があります。
Jenkinsのディスク使用量を管理する
ワークスペースフォルダの自動クリーンアップ
ディスクの使用状況を監視することは、最初の一歩に過ぎません。 また、
のスペース不足を回避したり、「デバイスにスペースが残っていません」というメッセージに対処するためのいくつかの方法を提供しています。
フォルダ`/var/jenkins_home/workspace` の自動クリーンアップは、Jenkinsサービスに埋め込まれたデフォルトパイプラインに含まれる
` cleanWs()`ステップによって処理されます
。
post {
cleanup {
cleanWs()
}
}
デフォルトのJenkinsfileをまだ使用しておらず、リポジトリに含まれている
Jenkinsfileを引き続き使用している場合は、少なくとも
バージョン `3.2.0` にアップグレードすることをお勧めします。 そしてここに記載されているデフォルトのパイプラインを利用します。
バージョン `3.2.0`をデプロイしたら、もう一つのステップとして
ワークスペースフォルダをクリアする必要があります。
Jenkinsでは、ブランチやプルリクエストごとにビルドをトリガーする必要があります。 これは、 `cleanWs` のステップがビルド実行後に行われるのであって、Jenkins の起動時に
ではないからです。 すべてのブランチで手動ビルドを起動した後、
サイドバーの「ディスクの使用状況」に移動すると、
`/var/jenkins_home/workspace` フォルダがかなりのスペースを占有しているのが見えなくなるはずです。
このステップが必要になるのは、デフォルトのJenkinsfileにアップグレードするときだけです。
以降、デフォルトのパイプラインを使用している限り、ワークスペースフォルダはビルドのたびに
クリアされます。
インクルードとエクスクルードの設定
多くの異なるブランチやプルリクエストで多くのビルドを実行すると、
はすぐに利用可能なディスクスペースを消費してしまいます。 この動作を防ぐには、CIサービス上で
以下の環境変数を設定し、
のニーズに合わせてカスタマイズした値を設定します。 これらの環境変数を正しく管理することで、CIサービス上の
スペースを大幅に節約することができます。
LCP_CI_SCM_BRANCH_FILTER_INCLUDE
LCP_CI_SCM_BRANCH_FILTER_EXCLUDE
例として、 `LCP_CI_SCM_BRANCH_FILTER_INCLUDE=master develop`
と設定すると、 `master` と `develop` ブランチのみがビルドされます。
`LCP_CI_SCM_BRANCH_FILTER_EXCLUDE=PR-*` を設定している間は、すべてのプルリクエストビルドを除外します。
通常、最初に `LCP_CI_SCM_BRANCH_FILTER_INCLUDE` に含めるブランチのパターン
を設定します。 これは排他的なので、
にマッチしない他のすべてのブランチは無視されます。
そして、 `LCP_CI_SCM_BRANCH_FILTER_INCLUDE`,
にマッチする例外があれば、 `LCP_CI_SCM_BRANCH_FILTER_EXCLUDE`にそれを追加します。 `*` を、ブランチ名の最後に
のワイルドカードマッチャーとして使用することができます。 ブランチ名は、
を空白文字で区切ってください。