CodeZine(コードジン)

特集ページ一覧

ASP.NET Core 2.0アプリケーションをデプロイしてみよう

進化した「ASP.NET Core 2.0」新しいWeb開発手法を学ぶ 第7回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/05/18 14:00

目次

Azure App Serviceにアプリケーションをデプロイしよう(2)

App ServiceとアプリケーションをGitで連携する

 App Serviceのリソース(前項のWeb App)が作成できたら、次はGitを使ったデプロイのための設定を行います。App Serviceの管理画面のメニューから「デプロイ資格情報」を選択します。デプロイ資格情報は、ローカルのGitリポジトリからApp Serviceへのデプロイ時に必要となる認証情報です。

図6:デプロイ資格情報の設定
図6:デプロイ資格情報の設定

 デプロイユーザー名とパスワードを入力して保存します。

 次に「デプロイ オプション」メニューを選択し、「ソースの選択」からGitリポジトリの種類を選択します。「Visual Studio Team Services」や「GitHub」などのGitリポジトリサービスが選択肢としてありますが、今回はこの中から「ローカルGitリポジトリ」を選択します。

図7:デプロイオプションの設定
図7:デプロイオプションの設定

 「パフォーマンステスト」は未構成のままで画面下部のOKを選択してデプロイオプションの設定を完了します。デプロイオプションの設定をすると、App Serviceメニューの「概要」の画面に「GitクローンURL」という項目が表示されるようになります。このURLは後ほど使用します。

図8:GitクローンURL
図8:GitクローンURL

 App Serviceでの設定は以上です。次はASP.NET Core 2.0のプロジェクトディレクトリをGitのローカルリポジトリとして設定していきます。引き続き「pub-sample」プロジェクトを使って説明します。

 以下のリストは、「pub-sample」プロジェクトのディレクトリをGitのリポジトリとして初期化し、コードをコミットする手順です。

[リスト4] プロジェクトディレクトリをGitリポジトリとして初期化
$ cd pub-sample

# Gitリポジトリとして初期化
$ git init
# プロジェクト内の全ファイルをインデックスに追加する
$ git add --all
# コミットしてGitのバージョン管理下に置く
$ git commit -m "initial commit."

 これによりGitのローカルリポジトリにコードがコミットされました。次に、このリポジトリの内容をApp Serviceと連携します。ここで先ほどApp Service上で表示した「GitクローンURL」を使用します。

[リスト5] Gitローカルリポジトリの内容をApp Serviceに連携する
# 「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でデプロイされたアプリケーションにアクセスすることができます。

図9:App Serviceにデプロイされたアプリケーション
図9:App Serviceにデプロイされたアプリケーション

 これでApp ServiceとGitリポジトリの連携が確認できました。ここでコードを修正し、修正した内容がGitへの反映に連動してApp Serviceにデプロイされるかを確認してみましょう。

[リスト6] アプリケーションの修正
# サイトのタイトルを編集する
$ vi Pages/Pages/_Layout.cshtml

# 修正したコードのコミットとリモートリポジトリへの同期を行う
$ git add --all
$ git commit -m "サイトのタイトルを変更"
$ git push azure master
・・・中略
remote: Finished successfully.
remote: Deployment successful.
$

 ここでは画面の左上に表示されるタイトルの文言を修正してみました。

 「git push」コマンドまで実行し、コマンドが完了したらブラウザをリロードして修正した内容がアプリケーションに反映されていることを確認します。

図10:修正内容が反映されたアプリケーション
図10:修正内容が反映されたアプリケーション

 このようにApp ServiceにGitリポジトリを連携させることで、コードの修正に連動してアプリケーションを容易にデプロイできることが確認できました。

おわりに

 本連載では全7回にわたって、ASP.NET Core 2.0のアップデート内容を中心に各機能の紹介をしてきました。2.0へのバージョンアップによって、Razor PagesなどのWindows環境のみで動作するASP.NETにはない独自の機能なども追加されました。

 これは、クロスプラットフォーム対応という強みを持つASP.NET Coreへのニーズが高まっていることの表れなのかもしれません。今後もニーズが増加していくことが予想されますので、この機会にぜひASP.NET Core 2.0を試してみることをお薦めします。

参考資料



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:進化した「ASP.NET Core 2.0」新しいWeb開発手法を学ぶ

著者プロフィール

  • WINGSプロジェクト 秋葉 龍一(アキバ リュウイチ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5