はじめに
Jenkinsは、開発者向けにオープンソースのCI/CD自動化ソリューションを提供しています。 Jenkinsが提供する機能の1つは、ビルドのパフォーマンスを自動的に記録することです。
Jenkinsログを確認することで、コードがどの程度うまく機能しているかについての豊富な洞察を得ることができます。これは、問題を特定したり、より最適化できる要素を探したりするときに特に役立ちます。
このチュートリアルでは、Jenkinsログファイルを検索、表示、編集する方法を紹介します。

前提条件
- Jenkinsのコピーがインストールされ、すぐに使用できるようになりました。
- Webブラウザへのアクセス。
- Nano、Vim、メモ帳などのテキストエディタへのアクセス。
Jenkinsログはどこに保存されますか?
Jenkinsログが保存される場所は、基盤となるオペレーティングシステムによって異なります。
- LinuxとmacOS -Jenkinsログは、他のログファイルと一緒に / var / logに保存されます。 ディレクトリ。
- ウィンドウ -Jenkinsログファイルは、インストール時に決定されるJenkinsホームフォルダに保存されます。
Jenkinsのログの場所は、サービス構成ファイルを変更することで変更できます。そのファイルの名前と場所は、基盤となるOSによって異なります:
- Debianベースのシステム - / etc / default / Jenkins
- RedHatベースのシステム - / etc / sysconfig / Jenkins
- MacOS - org.jenkins-ci.plist
- ウィンドウ - [JENKINS HOME] /jenkins.xml
Jenkinsログを表示するには?
Jenkinsログファイルを表示するには、選択したテキストエディタでファイルを開きます。以下は、オペレーティングシステムに応じたJenkinsログファイルのデフォルトの場所です。
Jenkins UI
デフォルトでは、JenkinsはJenkinsダッシュボードの一部としてすべてのアクティビティの一定のログを保持します。
1.このログにアクセスするには、Jenkinsの管理をクリックします ダッシュボードの右側にあるリンク。

2.システムログをクリックします ステータス情報のボタン セクション。

3.すべてのJenkinsログをクリックします デフォルトのログにアクセスするためのリンク。

ログの各行には、アクションの日時、ログのレベル、アクションを実行するJenkinsの要素、実行されているアクションの詳細が示され、その後に簡単な説明が続きます。

Linux
LinuxでのJenkinsログのデフォルトの場所は/var/log/jenkins/jenkins.log 。ログファイルを表示するには、Nano:
などのテキストエディタを使用してログファイルを開きます。sudo nano /var/log/jenkins/jenkins.log
ウィンドウ
Windowsでは、Jenkinsログファイルは jenkins.outとして保存されます。 (コンソール出力ログ)および jenkins.err (エラーログ)Jenkinsホームフォルダにあります。
Jenkinsホームフォルダの場所は、インストール時に指定されます。デフォルトの場所はC:\ ProgramData \ Jenkins \ .jenkins 。
重要: ProgramData フォルダはデフォルトで非表示になっています。 Jenkinsログを表示する前に、非表示のアイテムの表示を有効にしてください。
Jenkinsホームフォルダとして設定したフォルダがわからない場合は、Jenkinsの管理をクリックしてください。 Jenkinsダッシュボードの左側にあるリンク。

システム構成の下 セクションで、システムの構成をクリックします ボタン。

Jenkinsホームフォルダの場所は、ページ上部のホームディレクトリの下に表示されます。 。

MacOS
MacOSでは、Jenkinsログは /var/log/jenkins/jenkins.logにあります。 デフォルト:
sudo nano /var/log/jenkins/jenkins.log
Docker
DockerでJenkinsログを表示するには、デタッチされたコンテナー内でJenkinsを実行する必要があります。 Dockerのlogs
を使用してJenkinsログを開きます コマンドと切り離されたコンテナのID:
docker logs [container ID]
Jenkinsでデバッグログを有効にする方法
Jenkinsを使用すると、ユーザーはシステムログを使用するときに新しいログレコーダーをセットアップできます。 ページ。これらのレコーダーは、コードの特定の要素に関する情報を収集して表示し、それらを微調整してより詳細な出力を提供できます。
より詳細なログを利用できると、コード内の潜在的なエラーの原因を簡単に特定して特定できます。これは、問題をデバッグするときに非常に役立ちます。
1.新しいログレコーダを設定するには、最初に新しいログレコーダを追加をクリックします。 ログレコーダーのボタン システムログのセクション ページ。

2.次に、新しいログレコーダーの名前を入力し、[ OK]をクリックします ボタン。この例では、ログレコーダーに Digi Debugという名前を付けます。 。

3.新しいログレコーダーが収集して表示する出力をカスタマイズするには、[追加]をクリックします ボタンをクリックして、新しいロガーを追加します。入力フィールドを使用して要素を検索し、ドロップダウンメニューからログレベルを選択します。通常、すべてを使用するのが最適です。 またはFINE デバッグ目的のログレベル。

4.この例では、Gitに関連するプラグインをデバッグします。これを行うために、これらのプラグインを監視する新しいロガーを追加し、ログレベルをALLに設定します。

5.新しいロガーの追加が完了したら、[保存]をクリックします ボタンをクリックして、新しいJenkinsログレコーダーを保存します。

6.新しいログレコーダを設定したら、ログレコーダでその名前をクリックして開きます。 セクション。ログレコーダーを開いた状態で、ログレコードをクリックします 左側のリンクをクリックして、新しいログレコードを確認します。

どのJenkinsログを監視する必要がありますか?
Jenkinsログの特定のイベントは、コードまたはJenkinsアプリケーション自体の問題を示している可能性があります。これらのイベントを監視することは、パフォーマンスの問題を迅速に診断および防止するための簡単な方法です。
OutOfMemoryError
を受信する メッセージは、Jenkinsがシステムメモリを使い果たしたことを示します。この問題を解決するには、小さいJavaヒープを使用するか、次の場所で古い保存データを確認します。
[Jenkins URL]/administrativeMonitor/OldData/manage
java.lang.OutOfMemoryError: GC overhead limit exceeded
Javaガベージコレクタがメモリ制限を超えると、エラーが発生します。手っ取り早い解決策は、メモリを消費している可能性のある古いビルドをクリアすることです。
もう1つの一般的な問題は、 OutOfMemoryError: PermGen space
で示されるCPU消費です。 エラー。これを回避するには、マスターノードで実行されるビルドの数を最小限に抑え、ビルド履歴を制限し、すべてのJenkinsプラグインが更新されていることを確認し、他のアプリケーションがCPUをどのように使用するかを監視します。
Jenkinsログをカスタマイズする方法
Jenkinsログのフォーマットにより、特に高いログレベルを使用している場合に、ログが読みにくくなることがあります。数十行または数百行のコードを含む長いパイプラインにも課題があります。
以下は、ビルドのバージョン番号を出力する単純なパイプラインのログの例です。

上記の出力では、ステージの開始位置と終了位置を確認するのは簡単ではありません。唯一の兆候はstage
です 最初と// stage
で出力 最後に、両方とも明るい灰色で表示されます。
echo
を使用してメッセージを追加する ステージの最初にあるコマンドを使用すると、コンソール出力を確認するときにさまざまなステージを簡単に分離できます。これにより、ユーザーは簡単な説明を追加して、出力をさらに理解しやすくなります。
もう1つの方法は、 echo
を追加することです。 メッセージテキストなしのコマンド。これにより空白行が作成され、出力が読みやすくなります。
