Visual StudioからAzure App Serviceにプログラムをデプロイする
はじめに
この記事では、Orchard Coreのプロジェクトを例に、Visual StudioからAzure App Serviceにデプロイする方法を説明します。
※ この記事は、C#ベースのオープンソースCMS「Orchard Core」の紹介する一連の記事のうちの一つですが、「Orchard Core」に依存した部分は、記事の中のほんの一部分なので、Azure App Serviceのリソース作成からデプロイまでの手順は一般的な内容となっています。
Orchard Coreのプロジェクトを例にとりますが、C#で作成したWebアプリケーションならば、今回の方法でVisual Studioから簡単にデプロイすることが可能です。
Orchard Coreのプロジェクトを作成する記事
Azure App Serviceとは
Azure App Service は、WebアプリケーションやWebAPIをホストするためのフルマネージドPaaS (サービスとしてのプラットフォーム) です。Linux, Windows両方に対応しています。
サーバーレスコンピューティング環境を提供し、自動スケーリング、セキュリティ、統合認証などの機能が備わっています。
.NET、Java、Node.js、PHP、Pythonなどのフレームワーク/言語に対応しており、これらのランタイム/フレームワークのパッチは自動で適用され、開発者はアプリ開発に専念できます。
デプロイはGit、GitHub、Docker、Visual Studioなどから行うことができ、効率的なアプリケーション管理が可能です。
Azure Portalで App Serviceのリソースを作成する
全ての作業をVisual Studioから行えるのですが、この記事ではAzureのリソースの作成は、Azure Portalで行うこととします。
リソースの作成を開始する
まずは、Azure PotalでApp Serviceのリソースを作成します。
ここでは、Azureのサブスクリプションとリソースグループの作成は済んでいるものとします。
リソースグループの作成については、以下を参照してください。
Azure Portal を開き、リソースグループを開き[作成]ボタンを押します。
MarketPlaceのページが開きますので、検索欄に"web"と入力し、検索された「Web アプリ」をクリックします。
「Azureサービスのみ」にチェックを入れると探しやすくなると思います
続いて、プランが「Web APP」であることを確認し、[作成]ボタンをクリックします。
Webアプリの情報を入力
以下のページが開きます。
ここで、以下を入力して、[確認および作成]ボタンをクリックします。
- インスタンスの名前: 任意(ここでは、orchard-code-demo)
- ランタイムスタック: .NET8 (LTS)
- オペレーティングシステム: Linux
- 地域: 任意
- Linuxプラン: そのままでもOK (新規作成で任意の名前指定することをオススメします)
- 価格プラン: 任意 (ここではFree F1を選択)
Webアプリの情報確認
"確認および作成"のタブページに移動します。エラーがなければ、作成ボタンをクリックします。
デプロイ開始
作成ボタンをクリックすると、デプロイが始まります。
デプロイが完了すると、以下の表示に切り替わります。これでApp ServiceのリソースがAzureに作成されました。
しばらく待っても、表示が切り替わらない場合は、ページを更新してみてください。
Azure App Serviceの設定を変更
作成したApp Serviceのページに移動し、左側のメニューで[設定]-[構成]を選びます。
ここで、「SCM基本認証の発行資格」にチェックをし、設定を[保存]します。
この設定は、Visual Studioからデプロイするのに必要となります。
以上で、Azure Portal側の作業は終了です。
Visual Studioでプログラムを発行する
Orchard Coreのプロジェクトを作成
既存のプロジェクトをそのま利用しても良いですが、ここでは新規にプロジェクトを作成します。プロジェクトの名前はなんでもOKです。
dotnet new occms -n OrchardCoreAzure
Visual Studioで作成したプロジェクトを開き、正しくビルドできるか確認します。
ここでは、Orchard Coreのプロジェクトを作成しましたが、通常のASP.NET Coreのアプリケーションでも問題ありません。
発行プロファイルの作成
次に、ソリューションエクスプローラーのプロジェクトを右クリックして、[発行]を選びます。
Azureを選択し、[次へ]ボタンをクリックします。
Azure App Service (Linux)を選択し、[次へ]ボタンをクリックします。
先ほどAzure Portalで作成した Azure App Serviceを選択し、[完了]ボタンをクリックします。
次の画面(省略)で[閉じる]ボタンをクリックします。これで発行プロファイルが作成されました。
一度、発行プロファイルを作成すれば、この設定がPCに保存されますので、発行する際に再利用することができます。
Azureへの発行
先ほどの画面で[完了]ボタンをクリックすると、発行のページに移りますので、ここで、[発行]ボタンをクリックします。
Azureへの公開が開始されます。
公開が正常に終了すると、Azure App ServiceにデプロイしたWebアプリケーションが起動するとともに、ブラウザが起動しアプリケーションのページが開きます。
今回のOrchard Coreの場合は、以下の画面が表示されます。
以上で、Azure App Serviceのデプロイが終了しました。
次にやること(Orchard Coreの場合)
セットアップの画面が出たら、セットアップを開始します。
確認した範囲では、このセットアップ画面でデータベースにSQLiteを選んでもそれなりに動いてくれているようでした。
しかし、Azure App ServiceでのSQLiteの利用は推奨されていません。
次回は、今回作成したOrchard Coreのサイトで、Azure SQL Databaseを利用する方法について説明します。
Orchard Coreに関する記事一覧は以下のページで確認できます。
Discussion