« アーキテクチャではトレードオフは避けられない | トップページ | Redmine運用の感想を集めてみた »

2012/04/11

チケット駆動開発とJenkinsの連携

Jenkinsは単なるCIツールではなく、高機能なCron以上のツールとして使えないか、思ったことをラフなメモ書き。

【元ネタ】
Subversion, Git, Redmine, Hudson ? 今考えている連携 ≫ tune web

Jenkins Gerrit Trigger Plugin の使い方 | Aiming 開発者ブログ

Jenkinsで1つのジョブで複数のGitリポジトリをビルドする方法 - Hirohiroの日記

JenkinsとGitとSpockで独り継続的インテグレーション - Naoki_Rinの学習 - 補助記憶領域

Redmineチケットにタスクを書いて、GitやMercurialへコミットしたとしよう。
その後、コードレビューしてOKなら、そのパッチをtrunkへマージして、即ビルドして製品を出力するようにしたい。
その時の仕掛けとして、パッチをtrunkへプッシュしたら、単体テストを通してビルドするようにしたい。
ビルドエラーが出れば、そのパッチはコミットされないようにしたい。

上記の記事を読むと、JenkinsのGitプラグインをうまく使えば可能らしい。
このやり方の利点は、開発者のトピックブランチ上で自由に開発してもらい、正式にパッチを取り込む時に自動ビルドしてtrunkへ取り込んでくれるようにしてくれること。
やはりtrunkへのマージ作業は手作業が多くて面倒だからだ。

Gerritというコードレビューツールも面白い。
ReviewBoardほど高機能ではないがお手軽に見える。

また、JenkinsのBuild Pipeline Pluginも面白い。
継続的デリバリー」にもビルドパイプラインという概念が出てくるけれど、それはまさにこのプラグインが実現する機能そのものだろう。
つまり、結合テスト・受入テスト・ビルド・デプロイ・リリースまでの作業を全てつなげたもの。
これは、バッチ処理のジョブフロー図に近い。
とすると、バッチ処理のジョブをJenkinsで制御するようにできないのか?という発想も出てくる。

色々考えてみる。

|

« アーキテクチャではトレードオフは避けられない | トップページ | Redmine運用の感想を集めてみた »

Redmine」カテゴリの記事

ソフトウェア工学」カテゴリの記事

チケット駆動開発」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« アーキテクチャではトレードオフは避けられない | トップページ | Redmine運用の感想を集めてみた »