MongoDB は、Parasoft 製品を実行するマシンと同じマシンになくても構いません。
データ リポジトリ スクリプトを使用した MongoDB の構成
Data Repository Pack に含まれるスクリプトを使用して、Parasoft 製品で使用できるように MongoDB インストールをセットアップするには、次の手順を実行します。
- ダウンロードした Data Repository Pack 内にある Parasoft_SOAVirt_Data_Repository_Scripts_Pack.zip ファイルを展開します。
- OS のスクリプト フォルダー (たとえば Windows の場合は 'win-scripts') を参照します。
- スクリプト フォルダーを MongoDB のルート フォルダーにコピーし、フォルダーを開きます。
- server.bat (Windows) または server.sh (MacOS および Linux) を実行してサーバーを起動します。
- user.bat (Windows) または user.sh (MacOS および Linux) を使用して新しいユーザーを作成します。「追加情報」を参照してください。
- (オプション) register.bat (Windows) または register.sh (MacOS および Linux) を使用して、CTP にサーバーを登録します。
- ブラウザー ウィンドウで
<host>:<port>
を開き、サーバーが動作していることを確認します (例:localhost:2424
)。次のメッセージが表示されます。
コンソールで CTRL+C を押すか、MacOS/Linux で ./server.sh stop
を実行すると、Windows で Data Repository サーバーを停止できます。
手動による MongoDB の構成
Parasoft 製品で使用できるように (Data Repository Pack に含まれるスクリプトを使用せずに) 手動で MongoDB をセットアップするには 、MongoDB で server.conf ファイルを設定します。例:
### See https://www.mongodb.com/docs/v3.6/reference/configuration-options/ ### Path references are resolved relative to the environment's current directorynet: port: 2424 bindIpAll: true ipv6: true #ssl: #mode: requireSSL #PEMKeyFile: selfsigned.pem processManagement: fork: true security: authorization: enabled storage: dbPath: repositories systemLog: quiet: true path: logs/repo.log destination: file
必要な認証も設定する必要があります。MongoDB での認証の詳細については、https://www.mongodb.com/docs/manual/tutorial/configure-scram-client-authentication/ を参照してください。
ユーザーの例を以下に示します。特定の役割が必要であることに注意してください。
db.createUser( { 'user' : 'admin', 'pwd' : passwordPrompt(), // or cleartext password 'roles' : [ {'role' : 'root', 'db' : 'admin'} ] } )
SSL を使用するためのリモート データ リポジトリ サーバーの構成
SSL を使用するようリモート データ リポジトリ サーバーを設定できます。SSL は、デフォルトでは有効化されていません。そのため、次の手順を実行する必要があります。そのため、次の手順を実行する必要があります。この手順は、Windows および Mac でのみ有効です。Linux ユーザーはディストリビューション固有のバージョンの MongoDB をインストールし、MongoDB の設定手順に従う必要があります。
- 自己署名証明書を作成し、データ リポジトリ サーバー フォルダーのルート ディレクトリに保存します。
- データ リポジトリ サーバー フォルダーの
/scripts
ディレクトリにある server.conf ファイルを更新します。SSL オプションを有効化した server.conf のサンプルは下にあります。設定の詳細については MongoDB の設定マニュアルを参照してください (マニュアルへのリンクは server.conf ファイルに記載されています)。なお、サンプルファイルを修正したり、server.conf ファイルを手動で修正する場合は、スペースの適切な使用が重要なので注意してください。タブではなくスペースを使用する必要があります。 - server.bat (Windows の場合) または server.sh (MacOS) を実行してサーバーを起動します。
### See https://www.mongodb.com/docs/v3.6/reference/configuration-options/ ### Path references are resolved relative to the environment's current directory net: port: 2424 bindIpAll: true ipv6: true ssl: mode: requireSSL PEMKeyFile: selfsigned.pem security: authorization: enabled storage: dbPath: repositories systemLog: quiet: true path: logs/repo.log destination: file
追加情報
- ユーザー スクリプト (Windows 用の user.bat または MacOS および Linux 用の user.sh) は、認証用のユーザー名とパスワードを作成するためにサーバーの初回起動時にだけ実行する必要があります。ユーザー認証情報が作成されたら、ユーザー認証情報を更新したい場合を除き、ユーザー スクリプトを再度実行する必要はありません。
- 初回の開始後にデータ リポジトリ サーバーの認証に使用する認証情報を変更するには、ユーザー スクリプトを使用します。変更を有効にするには、サーバーを起動する必要があります。
- データ リポジトリ サーバーを CTP の Parasoft Test Data に登録するには、登録スクリプト (Windows 用の register.bat または MacOS および Linux 用の register.sh) を実行する必要があります。
- Linux または Mac にデータ リポジトリ サーバーをインストールする場合、サーバーの
ulimit
パラメーターを考慮します。データ リポジトリ サーバーでは多くのファイルが同時に開かれるため、ulimit の設定が小さすぎると、エラーが発生する可能性があります。 - Linux ユーザーの場合: init.d スクリプトからデータ リポジトリ サーバーを起動/停止する場合、init.d スクリプトからスクリプト フォルダーのサーバー シェル (server.sh) を呼び出し、環境において適切なユーザーで引数を渡してください。
server.conf ファイルによる詳細な設定
server.conf ファイルは、データ リポジトリ サーバーのポート (デフォルトは 2424
)、 IPv6 接続設定、SSL オプションなどの設定を指定します。デフォルトの設定を変更したい場合、server.conf ファイルを編集します。サーバーを再起動すると、変更が有効になります。サーバーを再起動すると、変更が有効になります。
初期化スクリプトによるデプロイメントの自動化
ダウンロードには init.bat (Windows 用) または init.sh (MacOS または Linux 用) スクリプトが含まれています。この初期化スクリプトには、さまざまな入力を渡すことができるコマンドライン引数が列挙されています。初期化スクリプトを使用しない場合はインタラクティブな入力が要求されるため、このスクリプトはデータ リポジトリ サーバーの自動デプロイメントを簡略化します。下記のサンプルは、ユーザー認証情報を初期化するために渡される引数および CTP 登録用のオプション引数を示しています。init.bat/sh スクリプトはデフォルトの server.conf の設定を使用すること、特にポート 2424 および非 SSL がデフォルトであることに注意してください。server.conf を編集した場合、server.bat/sh、user.bat/sh および (オプションで) register.bat/sh スクリプトを実行して手動でデータ リポジトリ サーバーをデプロイする必要があります。
init.bat --username <USER> --password <PWD> [--ctp-url <CTP_URL> --ctp-username <CTP_USER> --ctp-password <CTP_PWD>] [--alias <ALIAS>]
init.sh --username <USER> --password <PWD> [--ctp-url <CTP_URL> --ctp-username <CTP_USER> --ctp-password <CTP_PWD>] [--alias <ALIAS>]