DTP では、エクスプローラー ビュー でソース管理システム (SCM) から直接ソースを表示できます。 ソースのコピーが収集されて DTP に保存されないため、この方法は「Parasoft 静的解析/テスト ツールからのソース コードの表示」と比較して使用するサーバースペースが少なくなります。
この機能を有効にするには、SCM からソースを読み込むように DTP を設定する必要があります。また、Parasoft コード解析/テスト実行ツール (C/C++test、dotTEST、Jtest、SOAtest) を SCM に接続し、解析中にレポートを DTP に発行するように設定する必要があります。
このセクションの内容:
ソース管理の設定
最も一般的な方法は、DTP で SCM の設定を行い、Parasoft ツールも SCM 接続設定を使用できるようにすることです。
- ツールの .properties 設定ファイルで
dtp.autoconfig
プロパティをtrue
に設定して、Parasoft ツールの自動構成を有効にします (「静的解析/テスト ツールの自動設定」も参照)。 - 設定メニュー (歯車のアイコン) から [Report Center 設定] を選択し、[プロジェクト] をクリックします。SCM 設定をグローバルに構成することもできます。「すべてのプロジェクトの Parasoft Tool 設定」を参照してください。
- プロジェクトをクリックし、設定にアクセスします。
- Parasoft Tool フィールドで SCM の設定を指定します。SCM の具体的な設定については、Parasoft ツールのユーザーガイドに記載されています。詳細については、ご使用のツールのドキュメントを参照してください。
DTP はすぐに使用できる多くの SCM をサポートします。また、ネイティブ サポートされていないシステムをサポートするように拡張できます (Parasoft の担当者にお問い合わせください)。各 SCM には、設定が必要な異なるプロパティ セットがあります。
DTP 用の自動構成 SCM 設定のカスタマイズ
場合によっては、Parasoft 静的解析/テスト ツールと DTP Server が再利用する設定をさらにカスタマイズしなければならないことがあります。たとえば、必要な SCM の認証情報が DTP と Parasoft 静的解析/テスト ツールで異なる場合などです。 接頭辞として グローバル ツール設定とプロジェクト固有の Parasoft Tool 設定に同じ設定が存在する場合、DTP は次の優先順位で設定を上書きします。server.
を追加すると、その設定を DTP Server だけに適用できるので、自動設定を使用し続けることができます。以下の Parasoft Tool の設定では、SVN の実行ファイル ディレクトリを指定するために、Parasoft 静的解析/テスト ツールについては scontrol.svn.exec
設定を使用し、DTP については server.scontrol.svn.exec
設定を使用しています。scontrol.svn.exec=C\:\\Program Files\\svn\\bin\\svn.exe
server.scontrol.svn.exec=/usr/bin/svn
scontrol.rep1.type=svn
scontrol.rep1.svn.url=http\://foo.bar.com/svn/repos
scontrol.rep1.svn.login=foo
scontrol.rep1.svn.password=65707c
server.scontrol.rep1.svn.login=bar
server.scontrol.rep1.svn.password=19787a
server.
接頭辞がある設定とない設定が存在する場合、DTP は常に server.
接頭辞がある設定を優先します。server.
接頭辞がある、プロジェクト固有の Parasoft Tool 設定server.
接頭辞がない、プロジェクト固有の Parasoft Tool 設定server.
接頭辞があるグローバル ツール設定server.
接頭辞がないグローバル ツール設定
Git リポジトリからのソースの表示
Git リポジトリからテスト済みプロジェクトのソース コードを表示するには、以下で説明するように DTP を構成する必要があります。
DTP がインストールされているマシン上に Git リポジトリのローカル クローンを作成します。まだインストールしていない場合は、Git クライアントをダウンロードしてインストールし、クローンの場所を指定して実行します。
git clone --mirror <URL_TO_REMOTE_REPO>
この操作を、Parasoft ツールでテストし、テストしたソースコードを DTP で表示したい Git リポジトリごとに行います。
DTP で適切なコードを表示するには、クローンを最新の状態に保つ必要があります。クローンを更新するには、次を実行します。
git remote update <URL_TO_REMOTE_REPO>
この作業は、Jenkins のジョブや Linux の cron ジョブなどで自動化することを推奨します。上記の手順でクローンを作成したリポジトリごとにこの操作を実行します。
DTP 内で、Report Center 設定に移動し、DTP プロジェクトのツール設定を構成して、ローカルの Git クローンを指すようにします。このプロセスの詳細については、「プロジェクトの Parasoft Tool 設定」を参照してください。以下の例は、
scontrol.rep1.git.workspace
とscontrol.rep2.git.workspace
という 2 つの Git リポジトリの構成を示していますが、作成したクローンと同じ数のリポジトリを構成する必要があります。scontrol.rep1.git.workspace=<LOCAL_CLONE_DIRECTORY> scontrol.rep1.git.branch=master scontrol.rep1.type=git scontrol.rep1.git.url=<URL_TO_REMOTE_REPO> scontrol.rep2.git.workspace=<LOCAL_CLONE_DIRECTORY> scontrol.rep2.git.branch=master scontrol.rep2.type=git scontrol.rep2.git.url=<URL_TO_REMOTE_REPO>
SVN リポジトリからのソースの表示
以下の設定は、SVN 接続の例です。
scontrol.rep.type=svn scontrol.rep.svn.url=https://svn_server/ scontrol.rep.svn.login=username scontrol.rep.svn.password=password scontrol.svn.exec=/usr/bin/svn
scontrol.rep.svn.url
を適切に設定すれば、異なる SVN ブランチにある正規ファイルを追跡できます。この設定は SVN リポジトリの URL を指定します。
scontrol.rep.svn.url の設定で、プロジェクトがあるノードを指定します。ただし、プロジェクト名は省きます。
たとえば、ある SVN 上のファイルが “mina” というプロジェクトの一部であり、絶対パスが以下のとおりだとします。
https://svn.apache.org/repos/asf/mina/trunk/examples/src/http/BogusSslContextFactory.java
この場合、次のように scontrol.rep.svn.url を設定します。
scontrol.rep.svn.url=https\://svn.apache.org/repos/asf
最後のスラッシュ (/) は付けないでください。すべてのプロジェクトについて最後のスラッシュ (/) を付けないように注意してください。
ソース管理システムの問題のトラブルシューティング
ソース管理システムのソース コードを表示できない場合:
- DTP Server にパブリッシュされる report.xml にソース管理システムの情報があることを確認してください。
<Repositories..>
セクションがあることを確認してください。そうでない場合、Parasoft 静的解析/テスト ツールの設定が誤っています。 - 違反エクスプローラー、テスト エクスプローラー、あるいはカバレッジ エクスプローラーで、ソース コード パネルに重要な情報がないか確認してください。
- すべてのリポジトリ設定が Parasoft Tool 設定に存在することを確認してください。ソース コードを表示するには、証明書と他のリポジトリの設定が必要です。
- ソース管理クライアントが DTP で利用できることと正しく設定されていることを確認してください。DTP 用に設定された認証情報を使ってソース管理クライアントがソース コードにアクセスできることを確認してください。
- Git などの一部のソース管理システムの場合、リポジトリが DTP で複製されて最新であることを確認してください。Git は ローカル リポジトリを定期的に更新するために外部の cron ジョブを必要とすることがあります。
- 元のソース管理システムからの切断を排除するために、ビルド中のソースの変更、移動、またはコピーを SCM がサポートしていることを確認してください。