POSTS
Hugoでサイト作り直した
便利ですね
モチベーション
- 流石に手でポチポチサイトを作るのは飽きた
- とはいえそれなりに見えるサイトが欲しい
- 更新は markdown でできると嬉しい
- それなりにまとまった情報を置けるようになると嬉しい
- githu に push したら適当にビルドして反映されて欲しい
流れ
┌────┐ ┌──────┐ ┌────────┐ ┌──────────┐
│User│ │GitHub│ │CircleCI│ │web server│
└─┬──┘ └──┬───┘ └───┬────┘ └────┬─────┘
│ push │ │ │
│ ───────────────> │ │
│ │ │ │
│ │kick CI workflow ┌┴┐ │
│ │ ───────────────>│ │ │
│ │ │ │ │
│ │ │ │ upload contents │
│ │ │ │ over ssh │
│ │ │ │ ─────────────────>│
│ │ │ │ │
│ │ │ │ publish contents │
│ │ │ │ over ssh │
│ │ │ │ ─────────────────>│
│ │ │ │ │
│ │ └┬┘ │
│ │ done │ │
│ │ <───────────────── │
┌─┴──┐ ┌──┴───┐ ┌───┴────┐ ┌────┴─────┐
│User│ │GitHub│ │CircleCI│ │web server│
└────┘ └──────┘ └────────┘ └──────────┘
- GitHub にリポジトリを push すると CircleCI がキックされる.
hugo
とテンプレートがダウンロードされてコンテンツがビルドされる
- ビルドしたコンテンツをサーバへアップロードする
- アップロードしたコンテンツは
/tmp
以下の一時ディレクトリに保管される.
- アップロードしたコンテンツは
- アップロードが正常に完了すると一時ディレクトリのパスが表示されるので,それを指定し publish を実施する
- 指定された一時ディレクトリを
/tmp
以下から/web
以下へ移す - シンボリックリンク
/var/www/tanatana.info
を↑で移したディレクトリへ切り替える
- 指定された一時ディレクトリを