Gosuke Miyashita about feed

octorelease という gem をつくった

31 January 2014

serverspec とか specinfra の Changes を手で書くのがだるくなってきたので、自動化するために octorelease という gem をつくりました。

rubygems.org にもあげてあるので、gem install で入ります。

Rakefile の中に

require "bundler/gem_tasks"
require "octorelease"

みたいに書いて、

$ rake octorelease

すると、 こんな感じになります。

{% img /images/2014/01/rake-octorelease.png %}

何をしてるかというと、 rake release した後に、前のバージョンとリリースするバージョンの間に含まれるプルリクエストを git log で拾って、各プルリクエストに Released as vX.X.X. とコメントをつけ、GitHub 上にリリースを作成し、リリースの本文にはプルリクエストへリンクを張る、ってなことをやってます。

プルリクへのコメントはこんな感じでつきます。

{% img /images/2014/01/octorelease-comment.png %}

これは、プルリクしてくれた人に対して、リリースしたよ、ということを知らせるために、以前から手動でコメントしてたんですが、ルーチンワークなので自動でやるようにしました。

リリースはこんな感じで作られます。

{% img /images/2014/01/octorelease-releases.png %}

同僚の linyows 作の capistrano-github-releases インスパイアです。