過去 3 回に渡って、GitHub 上のリポジトリ(リモート リポジトリ)から Heroku と Azure にデプロイする手順をご案内してきました。この場合、Web アプリのプログラムに改編(ソースコードの変更)があった場合には、ローカル リポジトリへのコミット、リモート リポジトリへのプッシュを経て、再度デプロイする手順が必要になってきます。
もし、GitHub リモート リポジトリでの共有が不要で、かつ、Visual Studio をお使いなら、Azure へのデプロイを Visual Studio 側から直接おこなうことも可能です。今回は、その手順を紹介しておきます。
※ ご紹介する画面遷移は2019年4月時点のものです。今後当該サービスプロバイダーによって変更される可能性があります。
ローカルでの Web アプリの準備
ここでは、Web アプリとして Visual Studio 2017 Professional エディションで作成した Node.js テンプレートを利用したスケルトン プロジェクトを利用します。
GitHub Desktop を使った Web アプリの GitHub へのプッシュ 記事でも Node.js テンプレートを利用したプロジェクトを作成しましたが、Visual Studio からの直接デプロイで参照される Web. config ファイルを生成しないため、新たに別のテンプレートを利用してスケルトン プロジェクトを作成することにします。
Visual Studio 2017 Professionalで Node.js プロジェクトを作成するには、インストールで Node.js 開発 を選択しておく必要があります。
- Visual Studio 2017 Professional エディションを起動して、Node.js プロジェクトを作成します。[ファイル(F)] メニューから [新規作成(N)] >> [プロジェクト(P)] を選択します。
- [新しいプロジェクト] ダイアログが表示されたら、「空の Azure Node.js Web アプリケーション」テンプレートを選択して [OK] ボタンをクリックします。
- 作成されたスケルトン プロジェクト(NodejsWebApp2 プロジェクト)の実行をテストしてみます。[デバッグ(D)] メニューから [▶ デバッグッグの開始(S)] を選択して、Web ブラウザの起動後に server.js の実装である Hello World が表示されることを確認してください。
Visual Studio から Azure への直接デプロイ
先に作成したスケルトン プロジェクトから作成される Web アプリ NodejsWebApp2 を、Visual Studio 内から Azure に直接デプロイしていきます。
- NodejsWebApp2 プロジェクトを開いている状態で、[ビルド(B)] メニューから [NodejsWebApp2 の発行(H)] を選択します。
- [発行] ダイアログが表示されたら、[Microsoft Azure App Services(A)] をクリックしてください。
- [App Service] ダイアログが表示されるので、[新規作成(N)...] ボタンをクリックしてください。
- アプリ名と Visual Studio サブスクリプションが設定された [App Service の作成] ダイアログが表示されるので、必要に応じて新しいリソース グループやホスティング プランを選択(変更、あるいは、新規作成)してください。ここでは、Web アプリのデプロイ:Azure へのデプロイ の過程で作成された NodejsWebApp1-app リソース グループを使用することにします。アプリ名はユニークなものが自動的に設定されてきますので、これも必要に応じて変更してください。必要な入力/設定が完了したら、[作成(R)] ボタンをクリックしてください。
- しばらく時間がかかりますが、再び [発行] ダイアログが表示されるはずです。[接続] タブが表示され、すべての項目が設定されていることを確認したら、[発行(P)] ボタンをクリックして Web アプリのデプロイを開始します。
- しばらくの後、デプロイが正常に完了すると、デプロイされた Web アプリが表示されます(この例では https://nodejswebapp220190428054945.azurewebsites.net)。
初回のデプロイ後にコードに変更が生じた際には、2.以降の手順で設定した内容をそのまま流用して、再度、発行処理をすることで、新しい内容を反映することが出来ます。
このように、Visual Studio からの Azure へのデプロイは簡単におこなうことが出来ます。また、ここで使用した Node.js のほかに、ASP.NET など、Visual Studio と Azure App Services がサポートする Web サーバー テクノロジを利用する Web アプリのデプロイも可能です。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。