nuxt/contentで作成したブログをGoogle App Engineにデプロイしたが、表示されなかった話

nuxt/contentでブログを作成して、公式手順通りGoogle App Engineにデプロイしてみたけど、ブログページだけが表示されませんでした。色々試した結果、なんとか表示されるまでいけたのでその解決策を共有できたらと思います。根本的な解決策にはなってないですが。

解決策


とりあえず解決策。
node.js:12.21.0を使用しています。

まず、下記の様に修正して、1度デプロイします。

app.yaml
runtime: nodejs10

次に、下記の様に修正して、デプロイします。

app.yaml
runtime: nodejs12

これでブログページが無事、表示されるはずです。 1度目のデプロイで、nodejs12を指定しても上手くいかず、この手順でデプロイすることで表示されるようになりました。

表示されるまでの経緯など


まず、開発は、node.js 12.x.xを使用していました。
それで、初デプロイするときは、公式サイトにあるサンプルをコピペしてデプロイしていました。

app.yaml
runtime: nodejs10

バージョンは違いますが、これでもトップページなどのnuxt/content以外のページは普通に表示されていたので、簡単にデプロイできたと浮かれていました。 が、ブログページを開こうとすると、コンテンツの取得をしようとしているがなかなか表示されず、挙げ句の果てにエラーが表示されて終わりという現象が起きました。

調べていると、バージョンが違うことに気づき、バージョンを修正して再デプロイでなんとか表示されました。

あーバージョンが違ってたからかと思い、2回目のデプロイでは、nodejs12に修正してデプロイするもなぜかまた表示されなくなりました。 なんで?

色々調べてみたけど、nuxt/contentで作成したブログをGoogle App Engineにデプロイしている人が見つからず、途方に暮れていたところ、 なんの拍子か忘れましたが、たまたま最初の解決策の手順通りにやったらしく上手く表示される様になりました。

いやーよう分からんて。

まとめ


フロントエンドやPaaSなどのサービスは、開発しているバージョンが何なのかとても重要なんやなと思いました。

nuxt/contentとGoogle App Engineを使えば、エンジニアであれば簡単に個人サイト、ブログを無料で作れるのはすごいですよね。 指定のドメインを使おうとすると、その分の費用はかかりますが、安いドメインを使用すればとりあえず、サイトを作成できます。

これからもエラーに悩まされながらも、色々な機能を試していきたいところです。

ありがとうございました。

コメント