このサイトは Middleman + github.io でできていて,デプロイ時には middleman build && middleman deploy
とします.
これはそんなに面倒じゃないんですが,↓の記事に倣って自動化させてみました.
それほど積極的な利点じゃないですが,web ブラウザで GitHub リポジトリの記事を直接更新した時にもデプロイされます.
端末が使えないけど更新したい時とかあるかわかりませんが,便利といえば便利です.
で,ちょっと違う点があって工夫が必要だったので,その点だけ,残しておきます.
この点が違うところで,ブランチ構成を次のようにしています.
master
# 生成された後の静的ファイルsource
# 実際に作業しているブランチなので,source に push したら,build して,master へコミットしないといけません.
それ自体は大したことがないのですが,困るのは master に push するので,Travis さんが master のビルドをしようとしてしまいます.
ということで,master に push する際に master
ブランチでビルドしない設定の .travis.yml
を生成して対応することにしました.
ついでに,ビルドしたいのは source
ブランチに push した時だけなので,`source` ブランチの .travis.yml
にも追加.
...略...
after_success:
- cd build
- echo -e "---\nbranches:\n only:\n - source" > .travis.yml
- git add -A
- git commit -m 'Update'
- '[ $GH_TOKEN ] && git push --quiet https://$GH_TOKEN@github.com/OWNER/REPO.git 2> /dev/null'
branches:
only:
- source
Travis さんは Configuring your build#White- or blacklisting branches にあるように, gh-pages
が更新された際にはビルドしないんですねー.
手動で更新した際には, master
もビルドされてしまう.
対応策は, middlemana build
で, .travis.yml
を置くようにするか,コミットメッセージに [ci skip]
を入れるようにするか,くらい?