Azure App Serviceにアプリケーションをデプロイしよう(2)
App ServiceとアプリケーションをGitで連携する
App Serviceのリソース(前項のWeb App)が作成できたら、次はGitを使ったデプロイのための設定を行います。App Serviceの管理画面のメニューから「デプロイ資格情報」を選択します。デプロイ資格情報は、ローカルのGitリポジトリからApp Serviceへのデプロイ時に必要となる認証情報です。
デプロイユーザー名とパスワードを入力して保存します。
次に「デプロイ オプション」メニューを選択し、「ソースの選択」からGitリポジトリの種類を選択します。「Visual Studio Team Services」や「GitHub」などのGitリポジトリサービスが選択肢としてありますが、今回はこの中から「ローカルGitリポジトリ」を選択します。
「パフォーマンステスト」は未構成のままで画面下部のOKを選択してデプロイオプションの設定を完了します。デプロイオプションの設定をすると、App Serviceメニューの「概要」の画面に「GitクローンURL」という項目が表示されるようになります。このURLは後ほど使用します。
App Serviceでの設定は以上です。次はASP.NET Core 2.0のプロジェクトディレクトリをGitのローカルリポジトリとして設定していきます。引き続き「pub-sample」プロジェクトを使って説明します。
以下のリストは、「pub-sample」プロジェクトのディレクトリをGitのリポジトリとして初期化し、コードをコミットする手順です。
$ cd pub-sample # Gitリポジトリとして初期化 $ git init # プロジェクト内の全ファイルをインデックスに追加する $ git add --all # コミットしてGitのバージョン管理下に置く $ git commit -m "initial commit."
これによりGitのローカルリポジトリにコードがコミットされました。次に、このリポジトリの内容をApp Serviceと連携します。ここで先ほどApp Service上で表示した「GitクローンURL」を使用します。
# 「GitクローンURL」をリモートリポジトリとして登録する $ git git remote add azure <App Serviceに表示されている「GitクローンURL」> # リモートリポジトリにローカルリポジトリの内容を同期する $ git push azure master Password for '<「GitクローンURL」>': # デプロイ資格情報で設定したパスワードを入力 ・・・中略 remote: Finished successfully. remote: Deployment successful. $
「git remote add」コマンドで、「GitクローンURL」をリモートリポジトリとして登録します。続く「git push」コマンドでリモートリポジトリに対し、ローカルリポジトリにコミットした内容を同期します。その際、パスワードを要求されるので、「デプロイ資格情報」で設定したパスワードを入力します。認証が成功すると、リモートリポジトリへのファイルのアップロードとASP.NET Core 2.0アプリケーションの起動(デプロイ)が開始されます。しばらく待ち、「remote: Deployment successful.」と表示され終了したらデプロイ完了です。
App Serviceの管理画面メニューから「概要」を選択すると、「URL」という項目があります。このURLでデプロイされたアプリケーションにアクセスすることができます。
これでApp ServiceとGitリポジトリの連携が確認できました。ここでコードを修正し、修正した内容がGitへの反映に連動してApp Serviceにデプロイされるかを確認してみましょう。
# サイトのタイトルを編集する $ vi Pages/Pages/_Layout.cshtml # 修正したコードのコミットとリモートリポジトリへの同期を行う $ git add --all $ git commit -m "サイトのタイトルを変更" $ git push azure master ・・・中略 remote: Finished successfully. remote: Deployment successful. $
ここでは画面の左上に表示されるタイトルの文言を修正してみました。
「git push」コマンドまで実行し、コマンドが完了したらブラウザをリロードして修正した内容がアプリケーションに反映されていることを確認します。
このようにApp ServiceにGitリポジトリを連携させることで、コードの修正に連動してアプリケーションを容易にデプロイできることが確認できました。
おわりに
本連載では全7回にわたって、ASP.NET Core 2.0のアップデート内容を中心に各機能の紹介をしてきました。2.0へのバージョンアップによって、Razor PagesなどのWindows環境のみで動作するASP.NETにはない独自の機能なども追加されました。
これは、クロスプラットフォーム対応という強みを持つASP.NET Coreへのニーズが高まっていることの表れなのかもしれません。今後もニーズが増加していくことが予想されますので、この機会にぜひASP.NET Core 2.0を試してみることをお薦めします。
