HUGOデプロイの効率化

HUGOのおかげで、気軽にメモを書いてgithub pagesに載せられるようになったのだが、こうなってくるとgithub pagesへのアップロード自体が面倒になる。
具体的には;

  1. HUGOでビルド
  2. publicフォルダに降り
  3. git addし
  4. git commitし(コメントも入れて)
  5. git pushする

という手順で、意外に手間が多い。
ということなら、スクリプトに書いてしまいましょう。

元ネタ

HUGOもそのへん手抜かりはなく、元ネタを用意してくれている。
HOSTING AND DEPLOYMENTのページにあるput into a scriptね。

スクリプト

HUGOのサイトにあるスクリプトでは、プロダクション用のビルドになっていないので、そこだけ変更している。

これをdeploy.shとでも名前を付けて保存する。
deploy.sh "add articles"というように引数を与えればそれがコミットメッセージになる。
引数に無ければrebuilding site 20190713というようなメッセージになる。

転用する場合には1行目のShebangだけ書き換えること。

#!/usr/local/bin/bash

echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"

# Build the project.
HUGO_ENV=production hugo # if using a theme, replace with `hugo -t <YOURTHEME>`

# Go To Public folder
cd public
# Add changes to git.
git add .

# Commit changes.
msg="rebuilding site `date`"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

# Push source and build repos.
git push origin master

# Come Back up to the Project Root
cd ..

以上