チケット駆動開発と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のバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
コメント