2017.10.05Tips

Mendixの構成管理(バージョン管理)

  • このエントリーをはてなブックマークに追加

システム開発において構成管理を適切に行うことはとても重要です。

今回はMendixの構成管理について、主にバージョン管理に着目してご紹介します。

Mendixプラットフォームのバージョン管理

プロジェクトのチームメンバーが共同で作業するためには、バージョン管理の仕組みが必要になります。

Mendixプラットフォームには、プロジェクトモデルとリソースの両方が含まれる一元管理レポジトリが備えられていて、プロジェクトが新規に作成されると、そのプロジェクト専用のバージョン管理されたレポジトリが自動で作成されます。

プロジェクトのチームメンバーは、各自のローカル環境にモデルとリソースを含むレポジトリのコピーを保持し、ローカルで行った変更をレポジトリにコミットしたり、レポジトリから他のメンバーが行った変更を取得(更新)します。

このような作業スタイルを実現するため、Mendixではバージョン管理システムにSubversion(SVN)を採用しています。

SVNは世界中に広く普及していて信頼性が高いバージョン管理システムです。

SVNには高度な機能に対応するための多数の操作が備えられていますが、MendixモデラーではSVNコマンドによるレポジトリ操作を簡素化しており、すべての共通的な操作はMendixモデラーから直接実行することができます。

効率的に開発するには - 開発ラインの活用 -

開発プロジェクトは、必ずメインラインと呼ばれる1本の開発ラインから始まります(メインラインはSVNでは「トランク」と呼ばれています)。

これが開発プロセスを率いるメインの開発ラインになります。

レポジトリには多数の開発ラインを含めることができ、各開発ラインでは他の開発ラインから独立して開発を行うことができます。

最もシンプルなケースでは、メインラインのみですべての開発作業が行われます。

メインライン以外の開発ラインは、ブランチラインと呼ばれます。

下図で示すケースでは、新機能をメインラインで開発し、デプロイ済みのバージョンに存在するバグ修正はブランチラインで行われます。

そうすることで、メインラインに影響を与えることなく、ブランチラインでその問題を修正することができます。

Mendix Blog: Three cases for creating branch lines より引用

複数の開発ラインで開発を進める場合、一方の開発ラインの変更内容を別の開発ラインにマージすることがあります。

たとえば、プロダクションバージョンのブランチラインに施した修正は、メインラインで開発中の新バージョンにも適用しなければなりません。

下図は1つのリビジョンをマージする例です。

1つの開発ラインから別の開発ラインにすべてのリビジョンをマージすることも可能です。

なお、マージできるのはマイクロフローだけでなく、モデルやページもマージすることができます。

Mendix Blog: Three cases for creating branch lines より引用

デプロイ用のアーカイブを作成すると、タグが自動的に作成されます。

タグとは特定の開発ラインの特定のリビジョンを示し、デプロイしたアプリケーションのバージョンをいつでも追跡することができます。

あるリリースバージョンに対して機能を追加したり問題を修正する場合は、デプロイされているアーカイブのタグを起点としてブランチを作成します。

オンプレミスのSubversionは使えますか?

お客さまの要件に応じて、SVNレポジトリをローカル環境に構築し、チームサーバーの中間成果物(モデル、プロジェクト、ユーザーなど)をローカル環境でバージョン管理することも可能です。

SVNレポジトリの参照先(URL)はチームサーバーが管理しており、Mendixモデラーはチームサーバーに問い合わせてSVNレポジトリのURLを取得します。

通常はMendixクラウド上のSVNレポジトリを参照していますが、ローカル環境のSVNを利用する場合には、下図に示すとおりチームサーバーやMendixモデラーからローカル環境のSVNレポジトリを参照するように、チームサーバーが管理するSVNレポジトリのURLを変更します。

Mendix App Platform ホワイトペーパー より引用

まとめ

このようにMendixのバージョン管理はSVNをベースにしており、プロジェクトを作成すればすぐに利用できるようになります。

また、SVNの操作コマンドの知識がなくても、Mendixモデラーさえあれば簡単にバージョン管理を使いこなすことができます。

バージョン管理の詳しい説明や開発ラインの効果的な使い方については、こちらをご覧ください。

バージョンコントロール

Mendix Blog: Three cases for creating branch lines

Mendix Blog: Advanced Branching and Merging Strategies

  • このエントリーをはてなブックマークに追加

このエントリーにコメントする

必須項目は全て入力してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)