チケット駆動開発と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ハンドブック」は良い本です(2022.12.17)
- 第23回東京Redmine勉強会の感想~コミュニティは仲間から生まれて続く #redmineT(2022.11.06)
- 第22回東京Redmine勉強会の感想 #redmineT(2022.05.29)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- オープンソースERPパッケージiDempiereに対する派生開発手法の提案の資料が興味深かった(2022.04.24)
「ソフトウェア工学」カテゴリの記事
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- プロジェクト管理やソフトウェアアーキテクチャの問題の背後にはトレードオフが隠れているのではないか(2023.02.18)
- デブサミ2023の感想(2023.02.11)
- ChatGPTにEclipseでEclEmmaとJaCoCoからカバレッジを出力する方法を聞いた(2023.02.01)
- DDPは品質管理に役立つのか(2022.12.13)
「チケット駆動開発」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
- タスク分割は親子チケットにすべきか、それともチェックリストにすべきか #redmine(2022.03.04)
- Redmineにメンション機能が入るらしい(2022.01.15)
コメント