読者です 読者をやめる 読者になる 読者になる

SideCI Blog

自動コードレビューサービスSideCIを提供している株式会社アクトキャットのコーポレートブログです。



めちゃ簡単に毎日bundle updateしてpushしてみる

めちゃ簡単に毎日bundle updateしてpushしてみるスクリプトを適当に書いてみました。 めちゃくちゃ適当ですが。。。

p `git checkout master`
p `git pull origin master`

result = `bundle outdated || echo "ERR"`

exit if result.include? "Your bundle is up to date!"

if result.include? "ERR" or result.include? "Could not find" then
  # Create and checkout new branch
  branch_name = 'bundle_update_' + Time.now.strftime("%Y%m%d")
  p `git checkout -b #{branch_name}`

  p "bundle install starting..."
  p `bundle install`
  result = `bundle outdated || echo "ERR"`
  exit if result.include? "Your bundle is up to date!"

  p "bundle update starting..."

  # bundle update
  p `bundle update`

  p `git commit -a -m "#{branch_name}"`

  # push to remote
  p `git push origin #{branch_name}`
end

これをレポジトリの中にいれて、ruby bundle_update.rb とかでdailyのJenkinsのJobとかに入れてもらえると、bundle updateが必要かどうかを判断して、毎日アプデしてbranchをPushしてくれます。

プルリクエストも、octokit.rbなどを使えばあと3行追加するぐらいで出来るはず。。。
ライブラリのバグで時間を潰したー!
とか、
毎日アプデするようにしているんだけどめんどくさくて…
な方はぜひお試し下さいー。

お好みで、スクリプト末尾に

`git checkout master`
`git branch --delete #{branch_name}`

を追加しても良いかもしれません。

毎日手動でやっていることがあればぜひ自動化しちゃいましょう!