OutSystemsにおけるバージョン管理に関して

Pocket

1.はじめに

当社ではかねてより、ローコード開発基盤であるOutSystemsに関する情報を発信してきました。

基礎的な開発シーンの紹介にはじまり、Forgeの使い方や他社製品との比較などさまざまな観点で紹介しています。

今回は、システム開発を行う上で必須となる、バージョン管理について紹介します。

 

2.バージョン管理とは

そもそもバージョン管理とは、プログラムやデータの作成・更新を行う際に、変更地点を記録しておき、後から任意の地点の内容を参照できるようにする仕組みを指します。

バージョン管理で記録した情報は、不具合が生じた際の切り戻しに利用したり、前後の差分を使って変更箇所の確認を行うために利用したりします。

一般的な開発ではバージョン管理を行う際には、バージョン管理ツールなどを導入しますが、OutSystemsでは追加の導入や設定は必要ありません。

なぜなら Service Studio等でアプリケーションやモジュールのパブリッシュを行うたびに、中央のリポジトリに変更履歴が自動的に保存されるためです。

重要なマイルストーンにタグ付けし、バージョン履歴(「誰が」「いつ」行ったか)を確認できるほか、前のバージョンへ戻したり、ダウンロードしたりすることもできます。

参照:https://www.outsystems.com/ja-jp/evaluation-guide/version-and-source-control/

次章以降では、バージョン管理の機能の中で、ロールバック(切り戻し)に焦点をあてて紹介していきます。

 

3.Service Centerを利用してロールバックをする方法

まずは最も手軽にロールバックできる「Service Centerを利用してロールバックをする方法」の紹介です。実際の手順を追いながら紹介していきます。

 

手順1

まずはService Centerにアクセスし、バージョンを戻したいモジュールを選択します。アプリケーションからモジュールを選択する方法と、直接モジュールを選択する方法がありますが、どちらでも問題ありません。

<アプリケーションタブからアプリを選択しモジュールを選択する>

 

<モジュールタブから直接モジュールを選択する>

 

手順2

モジュールを選択すると、「Version」タブが表示され、過去にパブリッシュした時点の履歴が一覧表示されます。現在のバージョンは「Published」列にチェックが入っている箇所 (画像では1725)です。

 

手順3

切り戻しを行いたいバージョンの「Publish」ボタンを押下します。今回はバージョン1723に戻します。

 

<「Publish」ボタン押下後>

以上の操作で、選択した時点のバージョン1723に戻りました。このようにOutSystemsでは、ロールバックを行うのも専門的な知識は必要なく容易にできます。

先ほど紹介したロールバックの方法は最も手軽な方法であるものの、「ロールバックをした」という履歴が残りません。

開発時や少人数の開発の場合、問題が生じないケースもありますが、本番運用や大規模開発では最善な方法とは言えないでしょう。

もちろんそのような場合に最適な、履歴を残しながらロールバックをする方法もOutSystemsでは用意されています。

4章では履歴を残しロールバックする方法の1つである「Lifetimeを利用してロールバックする方法」を紹介していきます。

 

4.Lifetimeを利用してロールバックする方法

はじめに、Lifetimeとは環境の種別(開発・検証・本番)に関係なくすべてのアプリケーション環境を一元管理できるコンソールを指します。開発からデプロイまでのアプリケーションのライフサイクルをサポートしてくれます。今回の方法では、そのLifetimeを利用してロールバックする方法を紹介します。

最新バージョンで発生したバグを解消するため、過去の安定バージョンに戻していくというシナリオで紹介しています。それでは実際の手順を見ながらロールバックしていきましょう。

 

手順1

まずはデプロイ時に選択するタグバージョンの作成を行います。Lifetimeにアクセスし、バージョンを戻したいアプリを選択します。

 

手順2

次にタグバージョンを押下し、新規タグを作成します。

 

手順3

初期ステータスでは最新のバージョンと紐づいているため、今回戻したい安定バージョンに紐づけます。画像の▼のボタンを押下することで、バージョン一覧が表示されるので対象のバージョンを選択します。

 

手順4

バージョン名、詳細情報を入力後、「タグバージョン」を押下することで新しいバージョンが作成されます。

 

手順5

最後に作成したタグを利用しデプロイを行います。通常のデプロイ作業に則りデプロイを行ってください。その際に先ほど作成したタグを利用することで安定バージョンが選択されるのでロールバックが行えます。

 

以上が「以前のバージョンに基づいてタグを作成しロールバックする方法」です。タグという履歴を残しながらロールバックを実施するので、開発ソースの遍歴が明確になります。またタグには詳細情報を記載できるので、なぜこのタグ(バージョン)が発行されているのか等が一目でわかるようになっています。

次の第5章では、履歴を残しながらロールバックをする方法の2つ目、「ソリューションを利用してロールバックする方法」を紹介していきます。

 

5.ソリューションを利用してロールバックする方法

まずソリューションとは、複数のアプリケーションを組み込むことができるユニットのことを指します。

ソリューションの一つの特徴として、アプリケーションを組み込む際は組み込み時点のバージョンで保存されるという点が挙げられます。

今回の方法では、このソリューションの特徴を利用し、新しいバージョンをデプロイする前に、履歴としてソリューションを残しながらバージョン管理を行う方法を紹介します。

ソリューションを利用すると、複数のアプリケーションモジュールを一括管理できるのでロールバックの時間を短縮できます。

それでは今回も実際の手順を見ながらロールバックしていきます。

 

手順1

まずはService Centerにアクセスし、Factory > Solution を押下、「Solution」の一覧画面を表示します。

 

手順2

「New Solution」を押下し、新規作成画面に遷移し新しくソリューションを作成します。

 

手順3

ソリューションの枠組みを作成後、組み込むアプリを紐づけていきます。「Components」タブを選択し、「Associate Components with Solution」内に該当のモジュールを検索・選択します。選択するモジュールは複数選択可能です。

 

手順4

対象のモジュールを選択後、「Associate」ボタンを押下することでソリューションにモジュールが組み込まれます。これでソリューションが完成しました。最後に組み込んだアプリの現在のスナップショットを取っていきます。

 

手順5

Create Version ボタンを押下し、バージョン情報(スナップショット)を作成します。

作成するバージョンの名称と説明を入力してください。バージョン情報(スナップショット)を定期的に保存しておくことで、特定の地点への切り戻しが容易にできるようになります。以上が下準備です。

 

手順6

手順5で作成したバージョン情報(スナップショット)は、実際にロールバックが必要なタイミングで利用します。ロールバックを行いたい場合は、戻したいバージョン情報(スナップショット)を選択し、Publishボタンを押下するだけです。

 

以上が「ソリューションを利用してロールバックする方法」です。定期的にバージョン情報(スナップショット)を取っておくことで、履歴として特定の地点を残しておくことができます。こちらも先ほど同様に、詳細情報を記載できるので、なぜこのバージョンが発行されているのか等が一目でわかるようになっています。

またソリューションを利用した場合、複数のアプリケーションモジュールを一括管理できるのでロールバックの時間を短縮できます。

 

6.まとめ

今回はOutSystemsでのバージョン管理の中でロールバックに焦点を当てて紹介しました。

OutSystemsは標準で様々な機能が搭載されており、ロールバックの方法を含め、どの操作も容易な操作で完結するため、扱いやすい開発基盤であると筆者は改めて感じました。

OutSystemsでは今回紹介できなかったログの管理や依存関係の可視化など様々な機能も用意されています。

 

今回の記事を見て、少しでもOutSystemsに興味が湧いた方は是非一度お問い合わせ下さい。

 

お問い合わせ先

執筆者プロフィール

Ota Jumpei
Ota Jumpeitdi OutSystems推進室
様々なローコード開発ツールを幅広く挑戦中です。
直近のテーマは英語の説明をスラスラ読むために語学力を向上すること。
Pocket

関連記事