2 Gitとの統合
Gitを使用した統合バージョン・コントロールを構成する前に、次の点を考慮してください。
- プロジェクトおよびグローバル・オブジェクトはファイル・システムに格納されますが、コミット、プッシュ、プル・リクエストなどのソフトウェア構成管理(SCM)操作はEDQの外部で手動で実行されます。
- EDQシステムを新たに初期化する必要があります。Git構成は、システムを初めて起動する前に完了しておく必要があります。
ノート:
Gitを使用するように変換したい構成を含む既存のEDQシステムがある場合は、そのシステム上のすべてのプロジェクトをパッケージ化し、ローカル・ホームをバックアップする必要があります。その後、ローカル・ホーム内のプロジェクトおよび構成拡張またはその他の必要なファイルをGit統合システムにインポートできます。
この節の内容は以下のとおりです。
2.1 統合アーキテクチャの理解
EDQサーバーは、Gitサーバーを構成情報のストアとして認識するように構成できます。
次の図は、Gitと統合された2つのEDQインスタンスの一般的な設定を示しています。ここでは、変更の作成とテストに開発/テスト・インスタンスを使用します。テスト済の変更は、Git管理者が承認したプル・リクエストによって本番インスタンスで使用されるメイン・ブランチに昇格されます。開発インスタンスとテスト・インスタンスは、同様に分離されることがあります。たとえば、これらが両方とも同じフォークで動作する場合でも、変更はコミットされて開発からプッシュされた後にのみ、テストに移行します。

2.3 GitでのEDQの構成
Gitは、EDQのフレッシュ・インストールと統合する必要があります。EDQサーバーを初めて起動する前に、director.properties
を編集して次の行を追加します:
sccs.workspace = file system path to root directory
sccs.vcs.type = null
ここで、1行目のルート・ディレクトリは、「Gitワークスペースの準備」でリポジトリを作成したディレクトリです。2行目は、統合されたSubversionサポートを無効にします。
director.properties
を編集した後、EDQサーバーを起動します。
組込みの参照データ・オブジェクトは、ルート参照データ・フォルダに作成されます。これらのオブジェクトをGitにコミットし、オリジン・サーバーにプッシュします。
2.4 EDQの使用
Gitの構成が完了したら、EDQディレクタ・クライアントを使用して、グローバル・オブジェクトとプロジェクト・オブジェクトを通常どおり作成および編集できます。オブジェクトは、「GitでのEDQの構成」のsccs.workspace
プロパティによって設定されたファイル・システムの場所に格納されます。
$ cd /opt/git/repo/dev
$ git add Projects/test1
$ git commit -m 'Committing a project'
$ git push
変更がオリジン・サーバーにプッシュされた後、他のユーザーは、リポジトリをクローニングまたはプルして同じオブジェクトを操作できます。
git pull
コマンドを使用します:git pull
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 13 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (13/13), done.
...
ローカルEDQサーバーが実行されている場合は、ワークスペースで変更がないか再スキャンします。これを行うには、jshell.jar
ユーティリティを使用して次のスクリプトを実行します:
$ java -jar jshell.jar scripts/sccs/scan.groovy \
-server host:8090 -user username -pw password
実行中のEDQクライアントのプロジェクト・ブラウザには、スクリプトによって選択された変更が反映されます。
scan.groovy
スクリプトは、EDQクライアントで開いているプロセスおよびジョブ・オブジェクトを更新する場合があります。ただし、これらの変更はキャンバスに反映されません。変更を表示するには、オブジェクトをクローズして再ロードする必要があります。スキャンの実行時にクライアントまたはジョブが実行されていないことを確認することをお薦めします。ブランチの切替えなど、ワークスペースの内容を変更するGit操作を実行したら、scan.groovy
スクリプトを実行するか、EDQサーバーを再起動してください。