AzureFunctionをデプロイする方法としてVisualStudioから直接デプロイする方法とAzureFunction上でコードを実際に記載して、それをコピペで他の場所に持っていくぐらいしか知りませんでした
今回は以下のサイトを参考にVisualStudio上で開発したものをZipファイル化してデプロイする方法を紹介します
-
Azure App ServiceではFTPデプロイよりZipデプロイを使おう | cloud.config Tech Blog
AzureエキスパートのFIXERによる技術ブログです。Azure、Microsoft系のソリューションについての最新情 ...
続きを読む
デプロイ用にコンパイルする
VisualStudioでAzureFunctionのプロジェクトを以下の設定で作成したものをデプロイします
設定項目名 | 設定値 |
Function worker | .Net 6.0 |
Function | Http trigger |
ランタイム ストレージアカウントに Azureite を使用する | はい(チェックあり) |
Authorization level | Function |
「ツール」>「NuGetパッケージマネージャー」>「パッケージマネージャーコンソール」を選択します
VisualStudio上の下部にコンソールが出現するのでそこに下記コマンドを入力して実行します
使用するコマンドは用途によって適宜変えてください。コマンドについては以下のMSサイトを参考にしてください
dotnet publish -c Release -p:UseAppHost=false
-
.NET CLI を使用してアプリを公開する - .NET | Microsoft Learn
.NET CLI コマンドを使用して .NET アプリケーションを公開する方法について説明します。
続きを読む
文字化けがありますが、問題なく「bin\Release\net6.0」配下に様々なファイルが作成されています(net6.0は作成したバージョンによって変わります)
Zipファイルを作成する
上記でビルドしたものをアップロードするために、Zipファイル化します
パッケージマネージャーコンソール上で以下のコマンドをそれぞれ実行します
cd .\bin\Release\net6.0
Compress-Archive -Path * -DestinationPath Deploy.zip
コマンドを実行すると「bin\Release\net6.0」配下に「Deploy.zip」というファイルが作成されているのでこれをアップロードしてデプロイします
AzureFunctionのデプロイサイトへ
あらかじめ関数アプリをAzure上で以下で作成しておきます
設定項目名 | 設定値 |
関数アプリ名 | 適宜変更してください |
コードまたはコンテナーイメージをデプロイしますか? | コード |
ランタイムスタック | .NET |
バージョン | 6 |
地域 | JapanEast(個人によって変わると思います) |
オペレーティングシステム | Windows |
Azure上から「AppService」>「対象となる関数アプリ」>「高度なツール」を選択し、「移動→」ボタンをクリックします
別タブで以下のWebサイトが開くのでURL欄の末尾に「/ZipDeployUI」を追加してEnterキーを押すと以下の画像のサイトに遷移します
AzureFunctionへデプロイする
先ほど作成したZipファイルを先ほどのサイトにアップロードします
以下の画像で赤枠で囲っているあたりにZipファイルを持っていくとアップロードできます
デプロイが正常に完了すると以下の画像のように「Deployment successful.」と表示されます
デプロイした内容を見てみる
デプロイ先とした関数アプリ上に関数が作成されていることが確認でき、Azure上の「コードとテスト」から問題なく実行できました
デプロイ時の注意点
VisualStudio上で作成した環境変数は反映されていないのでAzure上で再度作成する必要があるので注意が必要です
会社紹介
私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています
会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造
この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています
ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します
-
アドバンスド・ソリューション株式会社
アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...
サイトへ移動
-
お問い合わせ | アドバンスド・ソリューション株式会社
お問い合わせはこちら