🍋

Visual StudioからAzure App Serviceにプログラムをデプロイする

2024/06/25に公開

はじめに

この記事では、Orchard Coreのプロジェクトを例に、Visual StudioからAzure App Serviceにデプロイする方法を説明します。

※ この記事は、C#ベースのオープンソースCMS「Orchard Core」の紹介する一連の記事のうちの一つですが、「Orchard Core」に依存した部分は、記事の中のほんの一部分なので、Azure App Serviceのリソース作成からデプロイまでの手順は一般的な内容となっています。

Orchard Coreのプロジェクトを例にとりますが、C#で作成したWebアプリケーションならば、今回の方法でVisual Studioから簡単にデプロイすることが可能です。

Orchard Coreのプロジェクトを作成する記事
https://zenn.dev/zead/articles/orchardcore-create-project-by-vs

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のサブスクリプションとリソースグループの作成は済んでいるものとします。
リソースグループの作成については、以下を参照してください。

https://learn.microsoft.com/ja-jp/azure/azure-resource-manager/management/manage-resource-groups-portal

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を利用する方法について説明します。

https://zenn.dev/zead/articles/orchardcore-sql-database

Orchard Coreに関する記事一覧は以下のページで確認できます。

https://zenn.dev/zead/articles/orchardcore-list-of-article

GitHubで編集を提案
株式会社ジード テックブログ

Discussion