高度な設定方法

Version 2.3以降

1. ユーザーが管理しているSMTPサーバーを使って解析結果の送信をする

Sider Scan が、解析結果を送信するためのメールサーバーの設定は、Sider Scan 設定ファイル( .siderscan.json )に記述します。利用可能なメールサーバーとしては、1. Sider 社が管理するメールサーバー、と、2. ユーザーが管理しているメールサーバー(SMTPサーバー)が、選択可能です。

ここでは、ユーザーが管理しているSMTPサーバーを利用するための設定方法を説明します。以下の.siderscan.json ファイルの例を参照下さい。

{
  "report": {
    "mail": {
      "to": ["解析結果送信用メールアドレス"],
      "provider": {
        "type": "smtp",
        "port": 2525,
        "host": "smtp.example.com"
      }
    }
  },
  "scan": {
    "result": {
      "url": "${BUILD_URL}artifact"
    }
  },
  "enableSiderScanTracing": {
    "userEmail": "管理者のメールアドレス"
  }
}

上記のJSONファイルにおいて、いくつかの文字列をご自身の環境にあわせて編集する必要があります。

4行目: ダブルクォーテーションで囲まれた 解析結果送信用メールアドレス の文字列を、Sider Scan からの解析レポートを受信するメールアドレスに変更下さい。レポート受信用のメールアドレスはカンマ区切りで複数指定可能です。例えば以下のようになります。

"to": ["alice@siderlabs.com", "bob@siderlabs.com", "carol@siderlabs.com"]

7行目: 利用されるSMTP サーバーのポート番号を入力して下さい。上記の例では2525になっています。

8行目: 利用されるSMTP サーバーのホスト名を入力して下さい。上記の例ではsmtp.example.com になっています。

18行目: ダブルクォーテーションで囲まれた 管理者のメールアドレス の文字列をSider Scan の解析対象リポジトリの管理者の方のメールアドレスに書き換えてください。例えば以下のようになります。

"userEmail": "bigboss@siderlabs.com"

この情報はSider Scan のライセンス管理用にSider社が利用するものになります。解析結果の送信先ではありません。

以上で、設定は完了です。

2. 言語設定の変更

Sider Scan は、解析結果のメールと、コード詳細ビューワ内の文章を、日本語と英語から選択できます。デフォルト値は日本語です。ここでは、言語を英語に切り替える方法を説明します。

言語設定は、Sider Scan 設定ファイル ( .siderscan.json )に記述します。 以下に、.siderscan.json ファイルのサンプルを示します。

{
  "report": {
    "mail": {
      "to": ["alice@siderlabs.com"],
      "useBuiltInProvider": true
    },
    "language": "en"
  },
  "scan": {
    "result": {
      "url": "${BUILD_URL}artifact"
    }
  },
  "enableSiderScanTracing": {
    "userEmail": "bob@siderlabs.com"
  }
}

上記のJSONファイルにおいて、実際に言語設定を行っているのは7行目です。report キー内部のlanguage キーの値として、ダブルクォーテーションで囲んでen と書きます。上記JSON のその他の行は一例です。ご自身の環境にあわせて書き換えて下さい。

3. 入力ソースファイルサイズの上限の変更

Sider Scan の解析処理時間は、入力されるソースコードのファイルサイズや重複コードの量に依存します。極めて多数のソースコードが入力された場合、解析が終わらなくなってしまう可能性があるため、Sider Scanでは、入力されるソースコードの総ファイルサイズに上限値を設定しています。デフォルトの上限値は300MB です。

300MB のソースコードを解析するために、Sider Scan は、約3GBの物理メモリを使用します。より多数のソースコードを処理するためには、Sider Scan が動作しているサーバーのメモリサイズを増やし、Sider Scan の設定ファイル(.siderscan.json) に新しい入力データの上限値を記入します。以下の例を参照下さい。

{
  "report": {
    "mail": {
      "to": ["alice@siderlabs.com"],
      "useBuiltInProvider": true
    }
  },
  "scan": {
    "totalFileSizeLimitInMegabytes": 800
  }
}

上記のjson ファイルで、scan オブジェクトの子オブジェクト、totalFileSizeLimitInMegabytes の値(上記の例では800) が入力ソースコードの総数の上限値(単位はMB) になります。

ここで、「入力されるソースコードのファイルサイズ」は、Git やSVNのリポジトリのサイズとは異なることに注意して下さい。リポジトリのサイズは、過去のバージョンの履歴情報などが入っているため、ソースコードのデータサイズより大きくなります。参考までに、比較的大規模なオープンソースプロジェクトのソースコード総数は、Spring Framework で136MB、Neo4j で88MB程度です。

4. Sider Scan からの利用状況データの送信を抑制する(Professional版のみ)

Sider Scan は、ユーザーのCIシステムや、ローカルサーバーにインストールされ、ソースコードの解析処理も、解析結果の保存もユーザーが管理しているシステム内で完結されており、ソースコード等のユーザー固有のデータが外部サーバーに送信されることはありません。しかし、主に、Sider Scan の製品品質向上と、ライセンス管理を目的として、いくつかのデータをSider 社が管理するサーバーに送信しています。送信している情報は以下のとおりです。

  1. Sider Scan による解析が開始されたとき

・リポジトリ管理者として登録されたE-mail アドレス
(.siderscan.json ファイル内の、”userEmail” キーの値として記述されたE-mail アドレス)

2. Sider Scan による解析が終了したとき

・リポジトリ管理者として登録されたE-mail アドレス
(.siderscan.json ファイル内の、”userEmail” キーの値として記述されたE-mail アドレス)
・解析の結果検出された指摘の数(ソースコード等の情報は含みません)

お使いの環境のセキュリティポリシーなどの理由から、Sider Scan から外部へ送信する情報を抑制したい場合は、.siderscan.json ファイル内の、enableSiderScanTracingキー内にある、onStartup キーと、onComplete キーの値を、true または false にすることで制御します。デフォルト値は両方ともtrue になっています。onStartup キーは、「Sider Scan による解析が開始されたとき」に送信されるデータの制御に使います。onComplete キーは、「Sider Scan による解析が終了したとき」に送信されるデータの制御に使います。以下は、 .siderscan.json の例になります。

{
  "report": {
    "mail": {
      "to": ["alice@siderlabs.com"],
      "useBuiltInProvider": true
    },
    "language": "en"
  },
  "scan": {
    "result": {
      "url": "${BUILD_URL}artifact"
    }
  },
  "enableSiderScanTracing": {
    "userEmail": "bob@siderlabs.com",
    "onStartup": true,
    "onComplete": false
  }
}

上記の例では、16行目で Sider Scan による解析が開始されたときのデータ送信を許可し、17行目で Sider Scan による解析が終了したときのデータ送信を不許可にしています。 その他の行は一例です。ご自身の環境にあわせて書き換えて下さい。