Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自社サービスのための独自リリース版Redmine「RedMica」の取り組み

MAEDA Go
September 07, 2024

 自社サービスのための独自リリース版Redmine「RedMica」の取り組み

ファーエンドテクノロジーが提供するRedmineのクラウドサービス「My Redmine」では、顧客にRedmineの開発済み新機能をなるべく早く届けるために2019年から自社独自リリース版のRedmine「RedMica」を使用しています。その取り組みを紹介します。

2024年9月7日開催のオープンデベロッパーズカンファレンス(ODC)2024での講演資料です。

MAEDA Go

September 07, 2024
Tweet

More Decks by MAEDA Go

Other Decks in Technology

Transcript

  1. ▪ Redmine 非 公式情報サイト「Redmine.JP」創 立 者(2007) ▪ 書籍「 入門 Redmine

    第6版」監修者(2024) 第1版〜第5版 著者(2008, 2010, 2012, 2014) ▪ Redmineコミッター(2017-) ▪ ファーエンドテクノロジー株式会社 代表取締役(2008-) http://linktr.ee/maeda.go  自己 紹介 前 田 剛 Redmineのクラウドサービスを 提供している会社です オープンソースのプロジェクト管理ソフトウェアRedmineで 仕事をしたりRedmineの開発を 手 伝ったりしています。
  2. My Redmine とは  ▪ 税別10,000円/ 月 〜 (1000ユーザー、200GB) ▪

    2008年開始 AWS上でRedmineをインストールした環境をクラウド型プロジェクト管理ツールとして 提供。顧客は 自 前でサーバの構築や保守管理をする必要がなく、 手 軽に低コストで Redmineを利 用 できる。
  3. My Redmine 顧客数推移(各年1 月 1 日 時点) 2010 2011 2012

    2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 1517 1328 1156 933 776 674 556 465 373 301 217 132 72 35 15
  4. Redmineはメジャーバージョンアップの間隔が不定かつ長め  ▪ Redmine 4.0.0: 2018-12-09 ▪ Redmine 4.1.0: 2019-12-20

    ▪ Redmine 4.2.0: 2021-03-28 ▪ Redmine 5.0.0: 2022-03-28 ▪ Redmine 5.1.0: 2023-10-31 > 12ヶ 月 > 15ヶ 月 > 12ヶ 月 > 19ヶ 月 ファーエンドテクノロジーはOSSのRedmineの開発元ではなく利 用 者なので、 リリース間隔は当然コントロールできない。
  5. RedMicaとは  RedMicaはファーエンドテクノロジー版Redmine。2019年11 月 に初めてリリース。 My Redmineのサービス提供 用 にリリースしているが、GitHubでも公開。 ▪

    オープンソースソフトウェア(GPLv2) ▪ Redmineのリポジトリの開発ブランチ(trunk)に追従 ▪ 6ヶ 月 ごと(5 月 ・11 月 )の定期リリース ▪ Redmineの時期バージョンの新機能を先 行 して利 用 可能 github.com/redmica/redmica
  6. Redmineより短い間隔で定期リリース  ▼ 2022-05 2.2 ▲ ▼ ▼ 11 2.2

    2023-05 2.3 5.0 2022-03 ▲ 5.1 2023-10 ▼ ▼ 11 2.4 2024-05 3.0 ▪ Redmineの最新ソースコードを元に、より短い間隔で定期リリースを 行 うことで 新機能を早く届けるという 目 的を実現 ▪ 最新のRedMicaにはリリース直前半年間のRedmineの開発成果が含まれる ▪ 例えば2022年の時点で、2023年10 月 リリースのRedmine 5.1に含まれる機能の 一 部が利 用 できていた
  7. Redmineのリリース間隔に起因する課題を解決  ▪ 顧客にいつ新機能を届けられるか不明 → ✅定期リリースであるため次期バージョンのリリース時期が明確 ▪ 当社の貢献により追加された機能をなかなか顧客に届けられない → ✅将来のRedmineのリリースに含まれる機能が先

    行 提供されるようになった ▪ リリース時期が不明なのでサービスの更新のスケジュールをあらかじめ決められない → ✅あらかじめスケジュールを空けておける RedMicaのリリースはファーエンドテクノロジーがコントロール可能なので 様々な問題が解決。
  8. My RedmineへのRedMicaの適用  ▪ 2020年2 月 から新規利 用 者に対してRedMicaでのサービスを提供開始 ▪

    2020年3 月 までに全利 用 者のRedmineをRedMicaに切り替え完了 ▪ 以降はRedMicaのみを使 用
  9. RedMicaの利用がRedmine本体の品質向上にも寄与(想定外)  ▪ Redmineの未リリースの新機能がMy Redmineのサービス環境で多数のお 客様に提供されることになり、不具合が早期に検出されることになった ▪ 検出された不具合は修正パッチを作成し redmine.org に報告

    ▪ Redmineとしてはリリース前の段階で不具合修正が完了 ▪ なるべくお客様に提供する前に不具合を 見 つけられるよう、ファーエンド テクノロジーの業務では開発ブランチのRedMicaを使 用 している
  10. Redmineのリポジトリと同期する流れ  svn.redmine.org PC上のGitリポジトリ (masterブランチ) PC上のGitリポジトリ (stable-X.Yブランチ) GitHub git svn

    fetch && git svn rebase git cherry-pick git push git push コミットメッセージの書き換えも 行 っている。 Redmineのチケット番号がGitHubのissue番号 と認識されるのを防ぐため。 redmine.orgのチケットを 見 ながらstableブラ ンチにバックポートすべきコミットを判断
  11. 現状の課題  ▪ 手 作業が多く 手 間がかかる ▪ stableブランチにcherry-pickすべきコミットの判断に 手

    間がかかる (issue確認、ソースコード確認) (現時点では解決策未検討)
  12. できればRedMicaが存在意義がなくなる日が来てほしい  ▪ RedMicaの存在意義は短い間隔で定期リリースが 行 われること ▪ もしRedmineがRedMicaと同様に半年ごとに定期リリースされれば RedMicaは存在意義を失う ▪

    将来Redmineのリリースが 比 較的短い間隔で定期的に 行 われるように なり、RedMicaの存在意義がなくなる 日 が来てほしい ▼ 2022-05 2.2 ▼ ▼ 11 2.2 2023-05 2.3 ▼ ▼ 11 2.4 2024-05 3.0 Redmineが同じペースでリリースされれば RedMicaは存在意義を失う(そうなってほしい)
  13. ▪ Redmine 非 公式情報サイト「Redmine.JP」創 立 者(2007) ▪ 書籍「 入門 Redmine

    第6版」監修者(2024) 第1版〜第5版 著者(2008, 2010, 2012, 2014) ▪ Redmineコミッター(2017-) ▪ ファーエンドテクノロジー株式会社 代表取締役(2008-) http://linktr.ee/maeda.go  自己 紹介 前 田 剛 Redmineのクラウドサービスを 提供している会社です オープンソースのプロジェクト管理ソフトウェアRedmineで 仕事をしたりRedmineの開発を 手 伝ったりしています。