Hugo, github pages, werckerで自動デプロイ 2016/05/12版

公式ドキュメントのwercker周りだけ情報が古い。


公式ドキュメントの wercker 周りだけ情報が古い。

以下に簡単な方法を書いておいた

deploy pipeline は自分で作るようになった

Hugo ではなく、wercker の使い方が古い。

公式に沿って進めていくと build フェーズは出来るものの、deploy フェーズが実行されないことに気づくと思う。

少し前に ErgoDox EZ の firmware をビルド・デプロイするのを作った時はそんなことなかったのでここ最近のアップデートだと思う。

wercker 側の設定

Manage Workflows

Application を作ったら画面右上にある Manage Workflows へ

img.png

左カラムの Workflows をクリック。たぶんbuildしかないと思う。

Add new pipeline

下の方の Pipelines ってところで Add new pipeline

img_1.png

Name はなんでも OK だが、YML Pipeline name は下記の yaml の場合,deploy にしないと定義されてないってエラーになるはず

HookType は default でいい。Git push を選ぶと文字通り push に hook されるので

ビルドされてない Hugo の中身が deploy されてしまう。

img_2.png

Environment variables

GIT_TOKEN を設定する. github の settingsで作っておこう。

img_3.png

※画像では既に設定済みになっている

pipeline の追加

img_4.png

+を押すとさきほど作った Pipeline を選択できるようになっているので、追加する。

ブランチはmasterで良い。

wercker.yml の step を変更する

公式ではlukevivier/[email protected]を使うよう書かれているが、それでは動かない。

やりたいことは hugo-build で作られた public 下をgh-pagespushすることなので

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 時間は潰したと思う。