チーム開発 リポジトリ共有の考え方
最終更新日: 2020年2月15日
WagbyDesignerによって編集された設計情報(リポジトリ)は、Wagby EEをインストールしたフォルダ直下にある「repository」というフォルダに管理されます。このフォルダ構造の詳細は「リポジトリ > リポジトリ構成」をお読みください。
チーム開発では、この repository フォルダを共有する必要があります。
リポジトリを各開発機で個別管理しますが、別途「共有ドライブ」を用意します。このドライブを介して、お互いのリポジトリを更新していきます。
この方式は、モデル単位で開発担当者を決め、担当フォルダを管理する運用になります。
このように開発者が運用時に注意しないといけないことが多いため、本方式の利用は非推奨となっています。
WagbyDesignerはWebアプリケーションとなっています。そこで、複数の開発者が(サーバで稼動する)一つの WagbyDesigner に同時にログオンし、設計情報を全員で書き換えるという方法です。
Unlimited Team ライセンスキーを適用することで、本方式で開発できるようになります。詳細は Wagby 販売パートナーにお問い合わせください。
Wagby EEのリポジトリを共有するために、よく知られたバージョン管理システムを使うことができます。著名な製品として cvs, subversion, Git などがあります。いずれもオープンソースソフトウェアとして提供されており、無償で利用できます。
どの製品を使っても、Wagby EEのリポジトリを共有できます。
バージョン管理システムによって管理される対象のこともまた「リポジトリ」と呼ぶことがあります。
Wagby EE の「リポジトリ」は設計情報のことですので、同じ単語で二つの意味を持ってしまいますが、混乱のないように使い分けて説明します。
バージョン管理システムに変更を記録することを「コミット (commit)」といいます。
バージョン管理システムはcommit単位で状態を管理します。また、いつでもその時点の情報に戻すことができる仕組みを備えています。
バージョン管理システムは編集履歴を確認する仕組みが備わっています。図はアトラシアン社が提供する無償のバージョン管理ソフトウェアSourceTreeを使った、編集履歴の確認例です。
過去のファイル内容を確認しながら、元の状態に戻すことが可能です。
複数の開発者が同じモデルを編集した場合、それぞれの修正がぶつかってしまうことがあります。これを競合(コンフリクト; conflict)と呼びます。
この場合は開発者による目視チェックを行い、どの編集を有効にするか(残すか)を決めてコミットします。
設計情報(repositoryフォルダ)に加え、カスタマイズを行う場合は customize フォルダもバージョン管理システムの管理対象に加えてください。
自動生成されたコードは、バージョン管理の対象としません。常に自動生成可能なためです。
開発者が変更したモデル以外の、他のモデルが変更される場合があります。これはメニューに関する操作を行った場合に発生します。
詳細は「リポジトリ > リポジトリ構造とチーム開発 > メニュー > チーム開発時の注意点」をお読みください。
$(DEVHOME)/.project等の設定ファイルは、バージョン管理システムの管理対象としません。ビルド時にwork/srcgen/eclipse以下のファイルが$(DEVHOME)へ上書きされるためです。
一方で、カスタマイズしたeclipse設定ファイルを格納するためのフォルダである$(DEVHOME)/customize/eclipse/は、work/srcgen/eclipseよりも優先されます。このフォルダを用意した場合は、バージョン管理システムの対象としてください。
リポジトリフォルダ
フォルダ共有方式(非推奨)
本方式の特徴と注意点
WagbyDesigner共有方式
本方式の問題点
バージョン管理システム利用方式
リポジトリという単語について
変更を記録する
編集履歴を確認する
過去の状態に戻す
競合の検出と解消
バージョン管理の対象
変更したモデル以外のファイルが変更される場合
Eclipse利用時の注意点