Azureこんにちは。MLBお兄さんこと松村です。2019の5日目の記事です。adventar.org4日目の記事は知念さんのノンコーディングでIoTを楽しむ話でした。aadojo.alterbooth.comさて、今回のテーマはタイトルにある通り「strapi」です。このツールをご存知でしょうか?私は密かに気になっていました。strapiとは?strapiとはNode.jsで作られたヘッドレスCMSです。strapi.ioWordPressに代表されるCMSはフロントエンド機能もバックエンド機能も有し、オールインワンでサーバーにデプロイする形が一般的です。strapiはCMSに必要なバックエンドAPIのみを提供しているため、フロントエンドは自分で用意することとなります。strapi」というような構成でCMSを開発することができます。WordPressを使うとしても、ページの見た目(UI)はサイトの種別や目的に応じてカスタマイズするケースが多いですよね。本記事ではstrapiのセットアップには言及しません。こちらの記事で詳しく説明されていますのでリンクを載せておきます。Azureにデプロイするstrapiの公式ドキュメントでは、デプロイ先としてDockerやAWS、Herokuなどの手順が用意されています。Azureにデプロイしようとするときに使うサービスや手順をまとめてみます。Guideに沿って作ったアプリケーションはこちらになります。start)を実行する必要があります。Containersにデプロイします。Dockerfileを用意する公式ドキュメントのコンテナーに展開する手順はさらっとした内容になっているため、GitHubのほうが詳しく記載されています。github.comstrapiが用意しているコンテナーイメージは2種類あります。strapiプロジェクトをビルドするときに使うDockerのマルチステージビルドの機能を使って、このようなDockerfileを作りました。"start"]あまり情報がありませんでしたが、こちらの記事を参考にしてDockerfileを作ることができました。strapi.ioコンテナーレジストリにプッシュする上記のDockerfileを使って、アプリケーションを含めたコンテナーイメージを作成しましょう。(ACR)にプッシュしておきます。myregistry.azurecr.io/strapi-tutorial:latest※ACRのリソース名は適宜読み替えてください。Containersにデプロイします。Containersのリソースを作成します。リソースが作成されてコンテナーイメージのpullまで完了すると、strapiにアクセスすることができます。ちなみにstrapiには日本語の管理画面が用意されており、セットアップとして管理者ユーザーの作成から始まります。Insightsに接続するこれまでの手順でstrapiをAzure上で実行することができました。Insightsを組み込んで、アプリケーションの監視をAzureで行えるようにします。ここで必要な一連の作業はこのコミット履歴から見ることができます。github.comSDKをインストールする公式ドキュメントにNode.js用の手順も用意されていますので、こちらに沿って進めます。Insightsに送信する使い方があります。今回は例としてミドルウェアを一つ用意して、そのなかでテレメトリを送信してみます。ミドルウェアを作成するstrapiにミドルウェアを作成するにはこちらのドキュメントを参考にします。慣れるまではちょっと難しいですね。