Jenkins における高度な設定

version 2.3以降

1. 同時実行数を抑制する

Sider Scan は、ソースコードにおける重複を検出し、独自のアルゴリズムで修正漏れ等を検出します。解析の処理時間の改善には常に取り組んでいますが、特にリポジトリの初回解析では全てのソースコードが解析対象となるため、リポジトリのサイズによっては1時間以上かかることもあります。

Jenkinsでは、Jenkins本体が稼働しているサーバー(masterノード)とは別のノードでビルド処理を実行することができます。Sider Scan を専用のノードで実行し、さらに、同時に実行する数を1つに抑制することで、他のジョブのビルド処理への影響を低減することができます。

1-1. ノードの作成

ダッシュボードのサイドメニューにある「Jenkinsの管理」をクリックし、さらに「ノードの管理」をクリックし、ノードの管理画面に移動します。

サイドメニューの「新規ノード作成」をクリックして、Sider Scan専用のノードを作成してください。

以下のように「Number of executors」および「用途」を設定してください。他の項目はお使いの環境に合わせて設定してください。

  • Number of executors: 1
  • 用途: このマシーンを特定ジョブ専用にする

1-2. プロジェクトの設定

Sider Scanを実行したいすべてのプロジェクトにおいて、以下のように実行するノードを指定してください。

  • 実行するノードを制限
  • ラベル式: 1-1で作成したノードのノード名もしくはラベル

以上で、Jenkins全体で実行するSider Scan を1つに抑制できます。同時にSider Scan を使用するビルドが実行した場合、後に実行されたビルドが待たされます。

参考

Jenkinsのノードについては以下のドキュメントを参照してください。