はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Windows Azure Mobile ServicesのカスタムAPIをGitで管理する

Windows Azrue Mobile ServicesでカスタムAPIを作成した場合、Gitで記載内容をバージョン管理することができます。

 

まずは管理ポータルのWindows Azure Mobile Servicesから街頭のサービスを選び、ダッシュボードを選択します。

image

概要のところに「ソース管理の設定」があるのでリンクをクリックします。

そこでGitのユーザIDとパスワードを指定すればソース管理としてGitが使えるようになります。

 

GitリポジトリのURLの情報は、[構成]タグの中にあります。

image

 

それではWindows環境にGitクライアント環境を導入してみましょう。

現時点で一番手軽な導入方法は、「https://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/msysgitVS.appids」からWeb PI経由で「Git for Windows」を導入する方法です。

image

インストールに成功すると「Git GUI」と「Git Bash」がインストールされます。

 

この2つのツールを使ってもいいのですが、今回はVisual Studioのバージョン管理をGitに切り替えて利用してみましょう。

image

 

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

image

接続を選び、ローカルGitリポジトリの[複製]をクリックします。

 

上の欄には管理ポータルで表示されたGitのUrlを入れ、下の欄にはローカルフォルダを指定します。

image

 

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

image

 

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

image

[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ではこのようなときにまずやるのは修正用の「トピックブランチ」を作成することです。

 

チームエクスプローラーで[分岐]を選択します。

image

 

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

image

 

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

image

 

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

image

image

 

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

image

image

 

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

そこでコミットコメントを記入して[コミット]ボタンをクリックして変更をコミットします。

image

image

 

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

image

image

 

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

image

image

image

 

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

image

image

 

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