CI サーバーから Silk Central をトリガーする

このセクションでは、継続的インテグレーション(CI)プロセスに Silk Central を統合する方法について説明します。 この統合は、Gradle スクリプトを使って CI サーバーから Silk Central 上の実行をトリガーすることによって実現します。

また、このセクションでは、Silk Central から結果を取得し、ビルド プロセスで使用する方法についても説明します。

CI サーバーから Silk Central 上の実行をトリガーし、Silk Central から実行結果を収集するには、適切なコマンドを使ってソース管理システムに Gradle スクリプトを追加する必要があります。silkcentral.gradle ファイルは、Silk Central UI からダウンロードできます。ヘルプ > ツール に移動し、CI サーバー統合用 Gradle スクリプト をクリックします。

Gradle スクリプトには、次のプロパティを設定できます。
プロパティ 説明
sc_executionNodeIds 開始する実行計画をカンマ区切りで指定します。リストにはフォルダを含めることはできません。たとえば、22431,22432,22433 のようになります。
sc_host Silk Central ホスト。たとえば、http://[sc_server_name]:19120 のようになります。
sc_token ユーザー認証用 Web サービス トークン。Web サービス トークンは、Silk Central UI の 設定ページ から生成できます。このページにアクセスするには、Silk Central メニューに表示されているユーザー名にマウス カーソルを移動し、ユーザー設定 を選択します。たとえば、80827e02-cfda-4d2d-b0aa-2d5205eb6eq9 のようになります。
sc_sourceControlBranch 省略可能:特定のブランチをチェックアウトする場合は、このプロパティを指定します。ブランチを指定しない場合は、実行計画の設定が使用されます。
sc_ buildName 省略可能:実行するビルド。ビルドを指定しない場合は、実行計画の設定が使用されます。実行計画ノードの場合にのみ、このプロパティを設定できます。 フォルダに対しては指定できません。
sc_StartOption 省略可能:実行するテスト。指定しない場合は、すべての割り当て済みテストが実行されます。使用できる値は、次のとおりです。
  • ALL
  • FAILED
  • NOT_EXECUTED
  • NOT_EXECUTED_SINCE_BUILD
  • FAILED_NOTEXECUTED_SINCE_BUILD
  • HAVING_FIXED_ISSUES
デフォルト値は、ALL です。
sc_sinceBuild 省略可能:ビルドを指定します。 指定したビルド以降、実行されていない条件の指定に使用されます。このプロパティは、sc_StartOption プロパティに FAILED_NOTEXECUTED_SINCE_BUILD、または NOT_EXECUTED_SINCE_BUILD を指定する場合に指定します。
sc_collectResults 省略可能:true を指定すると、スクリプトは Silk Central の実行が完了し、JUnit 形式の結果ファイルが出力されるまで待機します。false を指定すると、スクリプトは実行をトリガーすると、結果を待たずに完了します。ファイルは、sc_results サブフォルダに保存されます。デフォルト値は、true です(Boolean)。
sc_startDelay 省略可能:開始遅延時間(秒)。複数の実行計画を指定した場合に指定できます。実行計画は、指定した遅延間隔で順番に実行が開始されます。仮想マシンを開始する場合や、テスト対象アプリケーションをインストールする場合など、テスト環境の開始時の負荷を軽減する必要がある場合に有用です。デフォルト値は、0 です。

プロパティは、スクリプトに直接指定することも、スクリプトをトリガーするときに渡すこともできます。

スクリプトのトリガー時に指定したすべての追加のプロジェクト プロパティは、Silk Central にプロパティとして渡され、実行に使用されます。これにより、ビルド サーバーで指定した値を使って、Silk Central の実行をパラメータ化できます。

たとえば、ビルドがテスト サーバーを Docker で開始する場合、コマンド ラインにプロパティを指定して、このサーバーに URL を渡すことができます。
-PmyServerUrl=http://docker:1234

コマンド ラインの例

次のコマンドは、スクリプトをコマンド ラインから起動し、localhost 上で 22431、22432、22433 の実行ツリー ノードを実行します。 認証には、Web サービス トークン 80827e02-cfda-4d2d-b0aa-2d5205eb6ea9 を使用します。
gradle -b silkcentral.gradle
:silkCentralLaunch -Psc_executionNodeIds='22431,22432,22433'
-Psc_host='http://localhost:19120'
-Psc_token='80827e02-cfda-4d2d-b0aa-2d5205eb6ea9'

Jenkins から Silk Central 上の実行をトリガーする場合の詳細な情報は、「Jenkins から実行をトリガーする」を参照してください。TeamCity から Silk Central 上の実行をトリガーする場合の詳細な情報は、「TeamCity から実行をトリガーする」を参照してください。