GitHub+CircleCI+S3でNoOpsなBlogを構築した

本業の傍ら会社の技術 Blog リニューアルに携わっており、概要を Advent Calendar で「DeNA Engineers’ Blog をリニューアルしている話」として書きました。
「DeNA Engineers’ Blog をリニューアルしている話」ではコンセプトや進め方を中心に書いたので、この記事でもう少しシステム面を書いておきます。
ついでに会社の引き継ぎ資料にしてしまおうという目論見があります。

このブログのテーマがHugo Themesに載りました!

このBlog用に作ったHugoテーマ「techlog-simple」をHugoのテーマサイトに載せていただきました。やったね 🎉

Hugo Theme Techlog Simple | Hugo Themes

載せてもらう方法はこの辺りをみてください。

Hugo 0.42 からSpeaker Deck貼付はshortcodeではなくembed codeを使う

tldr: Hugo 0.42 以降で Speaker Deck のスライドを貼り付けるときは Speaker Deck の embed code を使いましょう。


ある日 hugo server が実行できなくなった

Hugo のバージョンを上げてこの blog の原稿を開いたらこんなエラーが発生してしまった。
この記事の Speaker Deck shortcode が問題あるらしい。

このWebサイトの見た目をちょっとまともにした

この Web サイト( https://mazgi.github.io/ )は専用の Hugo テーマで公開しているのだけど色々基本的なところが足りていなかったので直した。

一覧ページ(list.html)

Hugo テーマの場合、一覧ページのテンプレートは layouts/_default/list.html という PATH で作る。
なお TOP ページは layouts/index.html という PATH でテンプレートを作っておくとそちらが適用されるが、このサイトの場合は特に TOP ページだけに載せたいものがないので、TOP ページと一覧ページは同じテンプレートを使っている。

S3 + CloudFrontをTerraformで設定してCircleCIで更新する

「Terraform で S3+CloudFront+SSL/TLS 証明書 w/ ACM を設定して Hugo で作った static な Web サイトを CircleCI で自動 deploy する」やつができた。

できたもの

普通のいかにもHugoで作った Web サイトができた。
もう 2018 年なので手オペなどせず Infrastructure as Code で構築かつ CI でコンテンツ deploy です。
中身はまだない。
きっと酒とメシについての何かが書かれるのでしょう。

簡易な技術ドキュメントをHugoで書くと便利だった

サンプルコードのドキュメントをHugoで書いてサンプルコードと一緒に配ったら便利そうだったのでやってみた。

やりたいこと

仕事で他社さんにサンプルコードとドキュメントをセットでお渡ししたいのだけど社では GitHub Enterprise を使っているのでリポジトリを直接見ていただくことが難しいケースがある。