Room 3100

Travis CIのビルドスキップ機能について

概要

Travis CIにいつの間にかビルドスキップ機能が追加されていたので、 早速MiddlemanのビルドでもGithub Pages生成後の処理をスキップするようにしました。

Middlemanのビルドについて

このblogはMiddlemanを用いていますが、編集用ブランチとサイト生成先ブランチ(master)を分けています。 編集用ブランチをローカルでコミットしてGithubにプッシュすると、Travis CIが自動的にmasterブランチへ静的ファイルを配置するという仕組みです。

その実態はRakefileを用意して、Travis CIに叩かせるというもので、以下の記事で紹介されていたものを利用しています。

Middleman で作った web サイトを Travis + GitHub pages でお手軽に運用する - tricknotesのぼうけんのしょ

今までの問題点

Travis CIのビルドはmasterブランチのコミット時にも動作してしまい、.travis.ymlが見つからないためにエラーが発生していました。

error log

上画像のように、成功ビルドの後に失敗ビルドがつくられています。

しかし、ビルドスキップを設定することで、この問題を回避できるようになりました。

スキップの設定

Travis CIに特定のビルドをスキップさせる方法は単純で、コミットメッセージに[skip ci]などとあれば良いということです。 上記の自動ビルドではRakefileにてコミットメッセージも設定しているので、その中に[skip ci]という文字列を含むようにしました。

この変更をコミットし、プッシュしたところ、無事にmaster生成後のビルドはスキップされるようになりました。

success log

上画像のように、masterブランチ自動生成後のビルドはスキップされるようになりました。 今まで、実害はあまりないもののエラービルドが出ることで気持ちがブルーになっていましたが、そうした気分からはようやく解放されそうです。

© 2015 3100 - All code snippets on this site is licensed under a Creative Commons Attribution 3.0 Unported License.