Windows Azure Mobile ServicesのカスタムAPIをGitで管理する
- [Azure]Windows Azure Mobile ServicesにカスタムAPIを追加する
- [Azure]Windows Azure Mobile ServicesのカスタムAPIをVisual Studioで開発するには
Windows Azrue Mobile ServicesでカスタムAPIを作成した場合、Gitで記載内容をバージョン管理することができます。
まずは管理ポータルのWindows Azure Mobile Servicesから街頭のサービスを選び、ダッシュボードを選択します。

概要のところに「ソース管理の設定」があるのでリンクをクリックします。
そこでGitのユーザIDとパスワードを指定すればソース管理としてGitが使えるようになります。
GitリポジトリのURLの情報は、[構成]タグの中にあります。

それではWindows環境にGitクライアント環境を導入してみましょう。
現時点で一番手軽な導入方法は、「https://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/msysgitVS.appids」からWeb PI経由で「Git for Windows」を導入する方法です。

インストールに成功すると「Git GUI」と「Git Bash」がインストールされます。
この2つのツールを使ってもいいのですが、今回はVisual Studioのバージョン管理をGitに切り替えて利用してみましょう。

Git Providerに変更するとチームエクスプローラーでGitが扱えるようになります。

接続を選び、ローカルGitリポジトリの[複製]をクリックします。
上の欄には管理ポータルで表示されたGitのUrlを入れ、下の欄にはローカルフォルダを指定します。

リモートGitリポジトリへのログインが要求されるので、GitのIDとパスワードを入力します。

これで、指定したローカルフォルダにローカルGitリポジトリ(つまり、カスタムAPIのソース)がクローンされます。

[service]-[api]フォルダにはjsファイルとjsonファイルのペアがあります。jsファイルがカスタムAPIスクリプトでjsonがアクセス権になります。
search.js
exports.get = function(request, response) {
var sql ='SELECT * FROM TestTable';
request.service.mssql.query(sql, {
success: function(results) {
response.send(statusCodes.OK, results);
},
error: function(err) {
response.send(statusCodes.INTERNAL_SERVER_ERROR, err);
}
});
search.json
search.json { "routes":{ "*":{ "get":{"permission":"public"}, "post":{"permission":"admin"}, "put":{"permission":"admin"}, "patch":{"permission":"admin"}, "delete":{"permission":"admin"} } } }
それではスクリプトの修正をVisual Studioやテキストエディタで行ってみましょう。
Gitではこのようなときにまずやるのは修正用の「トピックブランチ」を作成することです。
チームエクスプローラーで[分岐]を選択します。

コミットブランチ名と設定します。例えば「カスタムAPI初期変更」としてみます。

[分岐の作成]ボタンをクリックすると[発行されていない分岐]に指定した名前でトピックブランチが表示されます。

この状態はまだ分岐していないで右クリックして[分岐の発行]メニューを選択します。


これでやっとローカルでの分岐が指定できたので「同期されていないコミット」で[同期]ボタンをクリックして、リモートGitリポジトリに分岐を送り込みます。


カスタムAPIのスクリプトを変更したら、チームエクスプローラーの[変更]を選択すると「含まれる変更」に変更したファイル名が表示されています。
そこでコミットコメントを記入して[コミット]ボタンをクリックして変更をコミットします。


この操作もローカルGitリポジトリに対するコミットだけですので、[同期されていないコミット]で[同期]ボタンをクリックします。


これでリモートGitリポジトリのトピックブランチに対してコミットが終わったので、トピックブランチをマージしてしまいましょう。



もちろんここまでの操作はローカルに対する指示のようなものなので、[同期されていないコミット]で[同期]を押して、リモートGitリポジトリ側でもマージを完了させましょう。


以上がGitを使ったバージョン管理になります。