このブログの構成!

2023-09-17

IMG_3974.jpg

構成とbuild&deployフロー(概要編)

IMG_3975.jpg

このブログは、

  • Notionを、記事の作成と保管に使い、(=DBやCMS)
  • Next.jsで、その記事のwebページとurlを作り、(=Webフレームワーク)
  • S3に、Next.jsのbuildファイル等を保管し、webとして公開して、

皆さんに、内容をお届けしています!

一言で言うと、「Notion使って記事書いて、Next.jsでそのWebページを自動生成させて、S3使って安くWebページを公開しようぜ」って内容になっています笑

他に使っているツールは?(詳細編)

とは言っても、その3種の神器だけでは、セキュリティーや作業効率がイマイチなので、細々したもの使っていますね、、、

たとえば、

  • GitLabで、build(S3で動作するためにファイルまとめて)とdeploy(S3へアップロード)させてたり、(=CI/CDってやつ)
  • CloudFront(AWSの1サービス)というやつで、https化し、高速配信していたり、
  • TypeScriptの型付きで、ちょいとコードの安全性あげていたり、

しています!

メリット、デメリットはどやねん!?

この構成にした理由は、まあ僕の学習遍歴にも大きく依存するんすけども、「Notionでマークダウンと画像付きの記事書いて、それを基にNext.jsで自動でページルーティング(記事に対応して記事URLとデコレイとしたwebページ生成)して、S3で安くWebページを公開できる」ことが大きいです!

ただまだまだ甚だ未熟な所もあり、この構成だと次のようなデメリットあります、、

Notionで記事投稿・変更時は、別途build&deploy作業がいる

これは、二つ理由があります泣

  • そもそも、S3に置いとるため、静的Webホスティングとなり、SSG(Static Site Generation)という、build時にしかWebページが追加・更新されない!
  • さらに、Notionの画像はURLが1時間おきに変わり、今はbuild時に画像を別の場所においているため、画像の追加・変更時には、buildが必要だ!

今は、GitLabで1クリックでbuildやdeployをできる様にしているが、めんどい!笑

折角、NotionとNext.jsを使っているのに、Notion記事書く毎に、それを反映させるのにbuild&deploy作業が追加で必要になるという、、、

これを解決するのに、おとなしくNext.jsと相性抜群のVercelにdeployしたり、1時間毎に自動build&deployしたりすれば良いんだが、前者は商業化とかすると結構良い値して、後者もGitLabだと有料にすぐになっちゃうので、今はこの構成を甘んじて受け入れとります、、、、

他にも問題いっぱいありそうですが、初めてのお手製ブログなので、一旦こちらを基に、記事投稿と機能追加をしていきまーーす🎵

もし、もっとやばい問題や解決策などありそうでしたら、お、お助けくだせい、、、(切実)

← ホームに戻る
Access: 0