はじめに
UiPath StudioにはGitやSVNバージョン管理ツールとの連携機能が用意されています。
現在ではGitをご利用されるケースが多いかもしれません。
UiPath StudioのSVN機能の情報が少ないため、この機能を使って何ができるか、どんな操作感なのか、などを確認していきます。
SVNはSubversion(サブバージョン)の略です。
UiPath StudioのSVN機能の確認を目的としており、SVNサーバーの導入手順は省略します。
SVN連携機能の有効化の手順
UiPath Studioはv23.4を利用しています。
ツール > プラグイン > ソース管理プラグイン から SVN を選択します。
SVN機能が有効化されると、下図の右クリック メニューが表示されるようになります。
よくあるシナリオに沿ったStudioのSVN機能の使い方
全体的に チェックイン と コミット という2種類の表現、表示があります。同じ操作(リポジトリに修正を登録)を指しているようです。
★シナリオ1: 開発済のプロジェクトをSVNサーバーへコミットする。
SVNで管理したいプロジェクトを開き、Studio下部の以下のメニューを選択します。
項目名 | 入力値 | 補足説明 |
---|---|---|
リポジトリURL | SVNサーバーのURLを入力。 | 当検証ではhttpプロトコル、ポート81で環境を使いました。 |
チェックアウト ディレクトリ | ソースを置く自身のPCのパスを入力。 | 初期値としてプロジェクトのパスが入力されています。 |
資格情報を使用 | SVNサーバーで認証する場合はチェックを入れる。 | |
ユーザー | SVNサーバーへ接続するユーザーを入力。 | 当検証ではsvnというユーザーを定義しています。 |
パスワード | SVNサーバーへ接続するパスワードを入力。 |
SVNへチェックイン(コミット)をする対象を選択し、
コミットメッセージ (必須)へメッセージを入力、チェックイン ボタンを押下します。
★シナリオ2: 既にSVNサーバーにコミットされているプロジェクトを取得する。
直下にxamlが無い場合は下図が表示されますが気にしないくて良いです。
取得したプロジェクトを開き、Main.xamlを開いてみます。
以下のダイアログが表示されました。
最新バージョンをチェックアウトして編集 ボタンを押下して編集しようとすると、以下のダイアログが表示されます。
ロックを解除 ボタンを押下し、ロックを解除すると編集できます。
ロックを解除 については、以降に記載したコンフリクトの発生を考慮しながら選択する必要があります。できれば事前にロックしているユーザーを確認し、ロックを解除した状態にすることを依頼するべきです。
補足: ロック状態とは…
ロック状態 とはユーザーによって明示的に編集を宣言している状態です。
ファイルの左端に南京錠のアイコンがあります。
このアイコンが 青色 状態だと対象ファイルをロックしていることを示しています。
南京錠のアイコンが 灰色 の状態でクリックすると以下のダイアログが表示されます。
直接ファイルの編集ができない状態です。
この状態のファイルを右クリックすると、以下のメニューが表示されます。
「編集用にチェックアウト」 が表示されているのが差分です。
右クリックメニューにて、編集用にチェックアウト をすると…
南京錠のアイコンが青色に変わります。
右クリックメニューにて、編集を終了 をすると、元の灰色のアイコンに戻ります。
★シナリオ3: 修正のコンフリクト(競合)が発生する。
複数のユーザーが同じプログラムソースを同時にコミットしようとする操作を コンフリクト(競合) と言います。
コンフリクトが発生する条件下で、コミット操作をしようとすると以下のダイアログが表示されました。
以下のメッセージが表示され、このままではコンフリクトが解消できません。
OKボタン を押下します。
コンフリクトの解消のために、自身の変更を元に戻します。
元に戻す 操作により、自身の修正が消えてしまします。
元に戻す 前に自身の修正を手元にてバックアップしておきましょう。
元に戻す 対象のリソースを選択し、元に戻す ボタンを押下します。
変更を元に戻すことで、自身の修正を破棄します。
右クリックメニューの 最新バージョンを取得 を選択し、
先にコミットされた内容を取り込みます。
その後、改めて自身の修正を反映 → コミット、という手順を実施しコンフリクトが解消しました。
★シナリオ3: 修正をサーバーへ登録する。
右クリックメニューの チェックイン を選択します。
コミットメッセージ を入力し チェックイン ボタンを押下します。
★シナリオ4: 履歴を確認する。
チェックイン(コミット)の情報が確認できます。
いずれかの行をクリックすると…
右クリックメニューの 「変更を表示」 でも変更内容の確認が可能です。
右クリックメニューの 変更を表示 を選択すると、即座に差分が確認できます。
補足: SVNの仕組みについて、イメージで理解してみます。
これらの挙動や、運用時の注意点、Gitとの違いなどを理解するためにはSVN仕組みを大まかに知ることが必要です。
Gitのイメージ
分散型と言われ、その名のとおりクライアント(利用者の端末)側にもリポジトリを持っています。
SVNのイメージ
集中型と言われ、その名のとおりリポジトリはサーバー側に1つという構造です。
こういった基本的な仕組みの違いを背景にしつつ…
- Gitの方が多機能で柔軟性が高い。
- SVNは機能はシンプルですが、サーバーを皆で同期して利用するため注意が必要。
…といった違いがあります。
SVNはサーバー上にリポジトリが1つしかないことにより、Gitよりもこまめにサーバーと同期をしないとコンフリクト(利用者同時の競合)を発生しやすくなります。
ロック機能 もSVNが集中型であるため重要な役割を果たしています。
まとめ
StudioのSVN機能を確認しました。
UiPath StudioのSVN機能をぜひご活用ください。