Mobile Services:Gitソース管理のサポート
今回のMobile Servicesの更新により、Gitとソース管理を統合することも可能になりました。新しいソース管理サポートにより、Mobile Serviceの一部として、Gitレポジトリが提供され、そこには既存のMobile Serviceスクリプトおよびアクセス許可がすべて含まれています。そのGitレポジトリをローカルマシン上にクローンし、いずれかのスクリプトを変更したら、Gitを使用して簡単にMobile Serviceを本番環境に展開することができます。これにより、どの開発マシン上でも(Windows、Mac、Linux)開発者のワークフローが、非常にうまく機能します。
新しいサポートを使用するには、Mobile ServiceのDASHBOARDで、Set up source controlリンクを選択してください。
もしこれがWindows AzureでGitを初めて有効化する場合、レポジトリへのアクセスに使用する証明書の入力画面がポップアップすると思います。

これを構成すれば、Mobile ServiceのCONFIGUREタブに移動して、レポジトリを使用するためのGit URLが確認できます。
このURLを使用して、お気に入りのコマンドラインからローカルにレポジトリをクローンできます。
> git clone https://scottgutodo.scm.azure-mobile.net/ScottGuToDo.git
以下は、レポジトリのディレクトリ構造になります。
ご覧のとおり、レポジトリには、いくつかのサブフォルダを持つサービスフォルダがあります。
独自APIスクリプトや関連のアクセス許可は、それぞれapiフォルダの配下の.jsおよび.jsonファイルにあります(.jsonファイルは、エンドポイントに対するセキュリティ設定のJSON表示が保存されています)。
同様に、テーブルスクリプトやテーブルアクセス許可は、.jsおよび.jsonファイルにありますが、テーブルスクリプトがCRUDオペレーションごとに分かれているため、<tablename>.<operationname>.jsの名前変換に従います。最後に、スケジュールされたジョブのスクリプトはスケジューラーフォルダにあります。共有フォルダは便利な場所に提供され、複数のスクリプトやAPNSフィードバックスクリプトのようなものにより共有されるコードが保存されます。
テーブルスクリプトのtodos.jsファイルを修正して、Tableサービスにクエリを投げた時に発生した例外の処理をもう少しうまく行えるようにします。
tableService.queryEntities(query, function(error, todoItems){
if (error) {
console.error("Error querying table: " + error);
response.send(500);
} else {
response.send(200, todoItems);
}
});
変更を保存したら、コマンドラインプロンプトに戻って変更をコミットし、Mobile Servicesへそれらをプッシュしてください。
> git add . > git commit ?m "better error handling in todos.js" > git push
変更がすべて展開されると、すぐに有効になり、ポータルで変更が反映されているところの確認もできるようになります。
新しいソース管理機能により、Windows Azureポータルの利便性を損なうことなく、非常に簡単に、ローカルでMobile Serviceを編集し、一括で変更をプッシュできるようにしています。






