jeweler + gitflowでrubygemsの開発を快適に

gemを開発しているとrubygemsに登録したりと何かと細かい作業が発生するのでjewelerに任せているのですが、最近gitflowを使って開発していることから、その作業の流れを紹介します。

bugfixやfeaturesの開発はgitflowに任せて開発します。僕は基本的にgithubのissueにチケットを作ってから作業しているのでブランチ名は'#xx'になります。例えば、1つのbugfixとそれに付随する機能を加えてリリースすることにしましょう。

$ git flow start hotfix #10
$ edit...
$ git flow start feature # 14
$ edit...
$ git flow finish hotfix #10
$ git flow finish feature #14
$ rake spec

これでdevelopmentブランチには#10と#14が取り込まれました。テストも通ることを確認できたら、あとはリリース作業です。現在のバージョンが0.0.1として0.0.2にpatchリリースしてみましょう。

$ git flow release 0.2.0
$ rake version:bump:patch
$ git flow release finish

さてこれでmasterブランチにマージされたのであとはgithubとrubygemsに登録するだけです。jewelerのタスクのrake releaseで一度に反映してくれるので便利です。

$ rake release