アプリケーションリリースごとのバージョン定義は、
GeneXus Server を使用したバージョン管理と作業方法のシナリオの 1 つです。
バージョンの定義は、バージョンを区別して単にアプリケーションのリリースを管理するために、また個別のバージョンを管理するために行います。この方法では、すべての開発作業が 1 つのバージョン (
トランク) で行われ、バージョンはリリースごとに定義されます。
アプリケーションの開発は
トランク内で開始されます。トランクとはナレッジベースを使用して作成されるバージョンで、アプリケーション開発のほとんどがここで行われます (図では General という名前になっています)。
作業を開始するには、GeneXus で新しいナレッジベースを作成するか、既存のナレッジベースを使用します。
最初に、
GeneXus Server にナレッジベースを送信して、GeneXus Server で対象のナレッジベースを公開します。
対象のバージョンで直接作業する場合、開発チームの他のメンバーは、
トランクに接続して [
GeneXus Server からナレッジベースを作成 ] オプションを使用して作業用のコピーを取得します。
これにより、
GeneXus Server へのコミットおよび
GeneXus Server からのナレッジベースの更新の操作を通じて、GeneXus Server に変更内容を送信したり、チーム内の他のメンバーが加えた変更内容を取得したりできます。
これを行うには、
マージモデルまたは
ロックモデルを使用します。
次の図は、開発者による GeneXus Server の操作を示しています。
開発段階が完了したら、バージョン 1.0 がリリースされます。この時点で、クライアントにインストールされるパックが生成されるため、テストを開始できます。
このとき、変更を加える必要が生じた場合に備えて、クライアントに渡したバージョンと同じものを保存しておくため、開発バージョンをフリーズする必要があります。
Frozen バージョンは読み取り専用のバージョンであり、変更できません。
バージョン 1.0 をフリーズするとクライアント側で並行テストが開始され、同時にバージョン 2.0 の開発が続行されます。
クライアントから間違いが報告されたら、どのように対処すればよいでしょうか。
作業中のバージョン (将来のバージョン 2.0) に修正を加えることはできますが、修正後のバージョンがクライアントにリリースされるまでには時間がかかります。したがって、修正を加えるべきバージョンは、クライアントでテストしているバージョンになります。
Frozen バージョンは読み取り専用なので、新しい開発バージョン (変更可能なバージョン) を定義する必要があります。そのためには、クライアントに配信したバージョンと同じ Frozen バージョンから
開発バージョンを作成します。
開発バージョンには、クライアントが所有しているバージョンに加えられる小規模な変更または修正を反映できます。これを使用することで、新しい開発バージョンでの独立した作業が可能になります。
トランク内でバージョン 2.0 の開発を継続している開発チームには影響は生じません。
このように、
トランク内でバージョン 2.0 を開発しながら、クライアントの要求に基づいてバージョン 1.0 で調整や修正を行うことで、並行作業を継続できます。この作業は、バージョン 1.0 の修正バージョンに接続されたナレッジベースから実行できます。
変更を加えると、変更されたバージョンがクライアントに転送されます。
クライアント向けに加えた変更は、General バージョン (
トランク) に渡して、次にリリースされるバージョン (バージョン 2.0) に反映されるようにする必要があります。
そのためには、General バージョンに接続されているナレッジベースから
変更を適用します。
このナレッジベースから
変更を適用すると、使用しているバージョンと異なるバージョンから変更内容を取得できます。この操作は、
[ 履歴 ] ダイアログから実行します。

[ すべての変更を適用 ] を実行し、使用しているバージョンと異なるバージョンからすべての変更内容を適用することもできます。この操作は、GeneXus のチーム開発の [ バージョン ] ダイアログから実行します。

変更内容をローカルのバージョンに適用したら、変更内容を General バージョンに反映するために、このバージョンで
GeneXus Server にコミットする必要があります。
最終的にバージョン 2.0 がリリースされると、バージョンツリーは下の図のようになります。
最新バージョンは作業中のバージョンであるため、最上部に配置されます。
プロジェクトは、開発のメインバージョンである
トランクと、ここから定義された残りのバージョンで構成されるツリーとして表すことができます。
つまり、GeneXus でナレッジベースと呼んでいるものは、ナレッジベースと同じ名前を持つメインバージョンを含むバージョンのセットということになります。
このバージョンを基に、新しい Frozen バージョンまたは開発バージョンを作成できます。これにより、すべてのバージョンの同期を保ちながら、並行してアプリケーション開発を継続できます。
ここまでに説明したすべてのバージョンは、GeneXus Server の
GeneXus Server コンソールから、または GeneXus 自体から定義できます。
チーム開発の [ バージョン ] ダイアログを使用すると、コンソールに移動せずに GeneXus Server のバージョン管理オプションを使用できます。