progrhyme's tech blog

主にIT関連の技術メモ

プロフィールサイトをGitHub Page + CloudFlareによる独自ドメイン×SSL配信に移行しました

はじめに

このブログからもリンクしている私のプロフィールサイトは、これまでは手抜きをしてGoogleサイトで作ったもの*1でした。

大したコンテンツがあるわけでもないので、特に問題は無いのですが、いまのアカウント(id:progrhyme)を作ったときに自分用のドメインも取得していたので、せっかくならばそれを活用したい、という気持ちはありました。

調べたところ、Googleサイトで独自ドメインを利用するにはG Suiteが必要そうです。*2
G SuiteはBasicプランが月額600円と、個人で使うとしても決して高いものではありませんが、今のところ本件以外にG Suiteを使うモチベーションはありません。
また、せっかくWeb業界にいるエンジニアなので、もう少しテクニカルにやってみようと思いました。

GitHub Pages + CloudFlareの設定

GitHub PagesGitHubが提供している静的なWebサイトのホスティングサービスで、GitHubユーザであれば無料で利用できます。
また、CNAMEレコードを設定することで、独自ドメインも使うことができます。

数年前なら、ここでSSL証明書をどうするか頭を悩ませることになったかもしれませんが、ここ最近は無料で証明書を提供してくれるサービスが増えてきました。
そもそも、今年の5月にはGitHub PagesそのものがカスタムドメインによるHTTPS配信を無料でサポートするようになりました。*3

初め、私もこの機能を使ってSSL化を試みましたが、一般的にZone Apex(サブドメインドメイン名そのもの)にはCNAMEを設定できないというDNSの仕様があるため*4https://www.progrhy.me のようなURLになりそうでした。
それでも特に実害はないのですが、なんとなく嫌だなということで更に調べていたところ、Cloud FlareのDNSの場合、 CNAME Flattening という仕様が有効になっており、Zone Apexに対してもCNAMEを利用することができるとのことでした。*5

というわけで、ドメインを購入したレジストラでCloudFlareにネームサーバを転送する設定をして、 https://progrhy.meGitHub Pagesで作ったサイトが見られるようになるところまでは一晩で設定できました。

Bootstrap Themeによるデザイン調整

最初はデザインは適当に済ませて、とにかく旧サイトから移行をしてしまおうと考えていたのですが、中々いい感じのテンプレートやツールを見つけることができず、意外に悪戦苦闘してしまいました。

最終的にGrayscaleという比較的シンプルなBootstrapのテーマを選びました。

おかげで期せずしてgulpやSassという新しめのフロントエンドのツールに触れることになりました。
あと、CSSのメディアクエリの書き方などを覚えました。

移行の現状

上述の通り、 https://progrhy.me/ で新サイトを閲覧できます。
このブログも含めて各種サイトやSNS等のリンクは一通り更新したつもりなので、移行としては完了です🎉

今後の予定

色々やり得ることはあるのですが、まずfaviconがまだ無いので、早めに作って設置したいと思います。

他方、npmの依存モジュールで脆弱性があるようで、GitHub上でセキュリティの警告が出ています。
大したことはしてないはずなのに package-lock.json が6218行もあって、npmの世界は怖いなと思ったものですが、ともあれ整理が必要そうです。

本サイトの更新頻度は高くはならないと思いますが、CloudFlareのキャッシュクリアなど含めてCI設定もできるといいなと思っています。

終わりに

この記事を書いている間にMicrosoftの「Sketch 2 Code」という新サービスのニュースが飛び込んできました。*6
AIによって、手書きのワイヤーフレームをHTMLに変換してくれるもののようです。

やってみて実感したのですが、素人がHTMLをいい感じに組むのは難しいので、AIで簡単になるといいなと思いました。

脚注