くりにっき

フルスタックキュアエンジニアです

Travis CIで定期的にビルドを実行する

tl;dr;

Travis CIを使っているのならCron Jobsを使うのが便利

前置き

Meguro.rb#2OSSパッチ会 で発表した資料で「1年以上ビルドしてないリポジトリだと久しぶりにPRが飛んできたらactivesupport系でだいたいテストが落ちる」といったことをしゃべったのですが、それに対してリポジトリ管理者はどうすべきかというアンサーソングです

解決方法

リポジトリを定期的にビルドをすることで解決することができます。

大半のOSSだとTravis CIを使ってることが多いと思いますが、Travis CIだと「Cron Jobs」でブランチの定期ビルドができます

Cron Jobs - Travis CI

設定方法

Travis CIの Settings -> Cron Jobsで設定するだけです。(詳しくは 公式ドキュメント 参照)

f:id:sue445:20170528151200p:plain

monthly(1ヶ月に1回ビルド)、weekly(1週間に1回ビルド)、daily(1日1回ビルド)のいずれかのタイミングで定期ビルドが実行できます。

f:id:sue445:20170528151441p:plain

活用例

自分はweeklyを使って週1の定期ビルドしています。

登録した日時を起点にして定期ビルドが実行されるのですが、金曜日の18:30過ぎ(だいたい定時)に設定したので、20個くらいのリポジトリで一斉にビルドが実行されてSlackに通知が流れると非常に花金感があります。

f:id:sue445:20170528151524p:plain