Netlifyに移行してhttpsにしました。

by Yuji Yamamoto on March 21, 2019


当ウェブサイト the.igreque.info は、長年ServersMan@VPSのEntryプランを使って配信していたのですが、このたびNetlifyに移行しました。
何かしらウェブアプリを動かしたいな、と思って買ったVPSでしたが、結局Apacheを動かすのにしか使いませんでしたね…😰。
メンテナンスも面倒なので、近々廃止します。
もしウェブアプリを配信したくなったら、今度はやっぱりHerokuかなぁ。

また、それに伴い、すべてのページのURLをhttpsに移行しました。時代の要請ですね。
わずかながら集めていたはてなブックマークも0になってしまいましたが、まぁ、心機一転ということで。

簡単にやったことを。

Netlify, かねがね噂には聞いてましたが、確かにものすごく簡単でした。
特に独自ドメインのTLSの設定があまりにも楽でびっくり。
Netlifyでウェブサイトを作り、その際に発行されたドメイン(このサイトの場合 youthful-lalande-e23790.netlify.com.に対してお持ちのドメインをCNAMEとして割り当てた上で、Netlifyの管理画面から「Add domain alias」して、割り当てたドメインを入力する、それだけでした(私の記憶が間違ってなければ😓)

あとは自動でLet’s Encryptから取得・更新してくれるみたいです(少し時間がかかるので待ちましょう)。

デプロイ方法

デプロイに関しては、手元のマシンでnetlifyコマンドを使ってデプロイするだけにしました。
CIサーバーにやらせる方がより今どきのベストプラクティスに近いんでしょうけども、まぁどうせ私一人しか編集しないサイトだし、VPSの頃からリポジトリーにコミットしてない変更をバンバンrsyncでデプロイする習慣があった私としては、こちらの方がやりやすいですしね。

こんな👇感じのシェルスクリプトでデプロイしています。

#!/bin/bash

set -eu

stack exec hakyll -- build

netlify deploy --prod --dir=_site/

cat <<END > _site/_redirectsで始まる行がポイントです。
後でよく考えたら「普通にHakyllの設定を変えて_siteにコピーできるな…」と気づいたので_redirectsの設定はデプロイスクリプトではなくHakyllにやらせることにしました😅。
間違いを防ぐという意味ではこちらの方が確実でしょうし…。

おわりに

Haskell-jpを立ち上げて以来、Haskellに関することは原則すべてHaskell-jp Blogに掲載すると決断したため、あまり書くことはなくなってしまいましたが、今後も気が向いたときに更新します。
何か要望や間違いの指摘などありましたらGitHubのリポジトリーのIssueまでどうぞ。


I'm a Haskeller Supported By Haskell-jp.