Express(node.js)とMySQLを使用したREST APIサービスをAzureに展開してみる:REST APIサービスのデプロイ その2

最後のリリース定義についてです。

PipelineのArtifactsで、前回概要を説明したビルド定義(ここではManageIPAddress_V2_CI-Service)を指定します。指定したビルド定義で生成されたもの(dropフォルダ配下)をEnvironmentsに指定した環境にリリースします。

リリース定義のタスクは「Azure App Service Deploy」を使います。

・Azure subscription
Web Appサービスを作成した際のsubscriptionを指定します。
・App type
今回はWindowsベースでREST APIサービスをデプロイするので、’Web App’を指定します。
・App Service name
リリース先のWeb Appサービス名を指定します。
・Package to folder
リリース対象ファイルが格納されているフォルダをしています。ここではビルド定義で生成したdropフォルダを指定します。

Node.jsのサービスを実行するには、次の「File Transforms & Variable Subscription Options」でWeb.configのパラメータを指定します。

「Web.config parameters」にこれらのパラメータを指定すると、デプロイしたときに指定したパラメータを含むWeb.configが作成されます。今回の内容は、REST APIにアクセスした際にiisnodeを使用してサーバー上でnode.exeを自動実行する設定になります。

最後に「Post Deployment Action」を使用して、リリース対象ファイルを展開した後にNode.js関連のパッケージ(Expressなど)をサーバーにインストールします。複雑な処理が必要であればスクリプトファイルを作成して、そのファイルを実行することになりますが、今回は’npm install’を実行したいだけなので、「Deployment script type」で’Inline Script’を指定し、「Inline Script」に’npm install’を指定します。

このリリース定義を実行すれば、Web AppサービスにNode.js+Expressで作成したプログラムが展開されます。

本番環境では、Web Appサービスのスロットを使用してBlue-Greenデプロイを行ったりする(スロットを指定してデプロイ+動作確認が完了したところでスロット入れ替えまで行う)必要がありますが、「とりあえず」なら、こんな感じでNode.js+ExpressなREST APIサービスをデプロイすることができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください