SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

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を試してみることをお薦めします。

参考資料

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
進化した「ASP.NET Core 2.0」新しいWeb開発手法を学ぶ連載記事一覧

もっと読む

この記事の著者

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10824 2018/05/18 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー