自分のブログ & ポートフォリオ的なサイトを作りました
常々、色んな技術を試せる砂場が欲しいという考えがあります。
自分の仕事/経験的に HTTP で JSON を返す API サーバはよく書くのですが、ウェブサイトを運用することがあまり無いです。
なので実験場的な意味合いでこのサイトを用意しました。
ただテキストを公開したいだけだったらはてなブログとか Gist とかで良いですが、わざわざ独自ドメインでやったりしてる理由がこれです。
静的サイトジェネレータは Hugo 以外にも色々あると思いますが、 Hugo 自体にそんなにこだわりは無いです。
強いて言えば最近自分の周りの人がよく使っている & 個人的に Go に慣れているので Go で書かれたソフトウェアは最悪コードを読んでどうにか出来るので安心、というくらいの理由です。
コンテンツの形式が独自のものとかではなく markdown とかなら後でいくらでも移行できるだろと思って軽い気持ちで選びました。
テーマは Terminal でやっています。
デプロイ先は S3 + CloudFront に AWS CDK でやっています。
ほぼ https://github.com/aws-samples/aws-cdk-examples/tree/master/typescript/static-site と同じような実装です。
CDK は IDE で補完が効くので CloudFormation の YAML を普段ゴリゴリ書いてない自分的には助かってます。
デプロイは GitHub Actions でやってます。
別に個人のプロジェクトなので CI いらないという考えもあるのですが、私の記憶力ではデプロイ方法など忘れてしまうので…。
結果 push したら Hugo でビルド && S3 に成果物送信 && CloudFront の Invalidation が走るようになりました。
多分これで諸々忘れても更新できるようになったので満足です。