log > HugoのデプロイをWerckerからCircle CIに変更した

HugoのデプロイをWerckerからCircle CIに変更した

HugoとCircleCIでGitHub PagesにBlogを公開してみた - Hori Blog」や、「WerckerやめてCircleCIに移行 · Real Beat」を参考にした。とても助かった。


上記のサイトと違うのは、git pushの先がgh-pagesになるので、git pushでgh-pagesを指定したのと、gh-pagesにCircle CIからdeployしたときにスキップするようにしたこと。あと、なぜかCNAMEを書き出さなかったので直接ファイルへ書き出したこと。

作成したcircle.ymlはgithubにある


もともと、werckerでもほとんど問題がなかったのだが、今回deprode.net/logからlog.deprode.netへドメインを変更した。そして、その頃からpublicフォルダに出力しない問題が出ていた。

土日を使っていろいろ試したが、結局解決しなかったため、思い切ってCircle CIでdeployすることにしたのだった。少し前にwerckerで問題があったときにも乗り換えようと思ったのだが、そのときは解決策が何時間かして見つかったので思いとどまったのだった。

今回は解決策が検討つかなかったので、Circle CIに移った。


余談だが、deprode.netをVPS上に移した。理由は、github pagesのすべてのURLがdeprode.net以下になるから。logも、deprode.net/logだった。

deprode.net以下にいろいろ小さいファイルを入れたくても入れられないのがすごい不便だったが、移したのでおととい作ったやつをサブドメインで運用できるようになった。現在稼働中。暇を見てAuthをつけたい。

あと、deprode.netをVPSに移したので旧URLをリダイレクトする必要があったので、nginxでリダイレクトした。

server {
    listen       80;
    server_name  deprode.net;

    location / {
        root  /var/www/nginx/deprode.net;
        index  index.html;
    }

    location /log {
        rewrite ^/log/(.*)$ http://log.deprode.net/$1? permanent;
    }
}

もう少しいろいろ書いてあるけど、rewriteで書き換えてる。returnを使って301リダイレクトした方がいいのだが、Regexを使った処理が書けないっぽいのでrewrite使ってる。