Hugo, github pages, werckerで自動デプロイ 2016/05/12版
公式ドキュメントのwercker周りだけ情報が古い。
公式ドキュメントの wercker 周りだけ情報が古い。
以下に簡単な方法を書いておいた
deploy pipeline は自分で作るようになった
Hugo ではなく、wercker の使い方が古い。
公式に沿って進めていくと build フェーズは出来るものの、deploy フェーズが実行されないことに気づくと思う。
少し前に ErgoDox EZ の firmware をビルド・デプロイするのを作った時はそんなことなかったのでここ最近のアップデートだと思う。
wercker 側の設定
Manage Workflows
Application を作ったら画面右上にある Manage Workflows へ
左カラムの Workflows をクリック。たぶんbuild
しかないと思う。
Add new pipeline
下の方の Pipelines ってところで Add new pipeline
Name はなんでも OK だが、YML Pipeline name は下記の yaml の場合,deploy にしないと定義されてないってエラーになるはず
HookType は default でいい。Git push を選ぶと文字通り push に hook されるので
ビルドされてない Hugo の中身が deploy されてしまう。
Environment variables
GIT_TOKEN を設定する. github の settingsで作っておこう。
※画像では既に設定済みになっている
pipeline の追加
+を押すとさきほど作った Pipeline を選択できるようになっているので、追加する。
ブランチはmaster
で良い。
wercker.yml の step を変更する
公式ではlukevivier/[email protected]
を使うよう書かれているが、それでは動かない。
やりたいことは hugo-build で作られた public 下をgh-pages
へpush
することなので
leipert/git-push
を使うように変更した。
box: debianbuild: steps: - arjen/hugo-build: theme: cactus flags: --buildDrafts=truedeploy: steps: - install-packages: packages: git ssh-client - leipert/git-push: gh_oauth: $GIT_TOKEN repo: nabetama/nabetama.com branch: gh-pages basedir: public
いま記事に起こしてみると単純なのだけど、どこが間違ってるのかわからなかったので結構時間かかった。2,3 時間は潰したと思う。