2025/07/25に開催されたRedmine Japan vol.4に参加した阿部です。
Redmine Japan: https://redmine-japan.org/
普段はあまりこういったイベントには参加していないのですが、最近はRedmineのプラグインを開発したりしているので参加しました。
いろいろな方とお話するとRedmineバージョンアップ時に苦労されている様子でしたので、ご参考までに弊社で行ったバージョンアップの事例を紹介してみます。
はじめに: Redmine Japanに参加して
今回は聞くだけ参加でした。
来年で最初のRedmineがリリースされてから20周年ということでRedmineの歴史のお話や、昨今のAI技術の発展に関連してAIに関連する発表が多数聞けて大変参考になりました。
(当日の様子はこちらから確認できるようです。)
当日は何人かとお話する機会がありました。ありがとうございました。 そこでRedmineの古いバージョンを使い続けていたり、バージョンアップが大変だというお話を何個かお聞きしたので、弊社でサポートした事例を紹介します。
Redmineのバージョンアップサポートの事例紹介
どうしてバージョンアップが大変なのかはRedmineを運用中の方であればご存知かもしれませんが、再確認のためにその理由を説明をしつつ、どのようなサポートをしたのかを説明していきます。
Redmineのバージョンアップが大変な理由
Redmine本体のみのバージョンアップは容易な場合が多いです。 バージョンアップを大変にしている原因はインストールしているプラグインです。
プラグインもRedmineのバージョンアップに追従する修正をする必要があります。 バージョンアップに追従しないと、そのプラグインはバージョンアップ後のRedmineで動かなくなります。 (場合によってはプラグインの影響でRedmine自体起動しなくなります。) しかし、すべてのプラグインがバージョンアップに追従しているとは限りません。
追従していないプラグインはRedmineのバージョンを上げると動かなくなるので、そのようなプラグインがあるとRedmine自体のバージョンアップができなくなるわけです。
導入したもののあまり使っていないプラグインであればRedmineのバージョンアップ時に削除すれば良いですが、日々の運用がプラグインに依存している場合はそうもいきません。
事例: プラグインを更新してRedmineをバージョンアップ可能にする
そういうわけで、今回紹介する事例もプラグインがRedmineのバージョンアップに追従しておらず、Redmineをバージョンアップできない状態をなんとかしたい、という相談を受けたところから始まりました。 この事例ではRedmine 4.xからRedmine 5.xにバージョンアップするときに問題が発生しました。
具体的には「Knowledgebase」というプラグインがRedmineのバージョンアップに追従しておらず、Redmineのバージョンが上げられないという状況でした。
当時(2024年の春ころ)は「Knowledgebase」プラグインはメンテナンスされてなさそうという状況であったことと、お客様がそのプラグインの一部の機能しか利用していなかったことから、「Knowledgebase」プラグインをRedmineのバージョンアップに追従させる方向ではなく、「Knowledgebase」プラグインはアンインストールして別のプラグインに置き換える方針を提案しました。
その方針でOKが出たので、Redmineに標準で搭載されているWikiをベースに、「Wiki Extensions」プラグインで機能を補いつつ、それでも足りないちょっとした機能を追加するプラグイン(Wiki Article)を開発・提供する形でKnowledgebaseの代わりを実現しました。
Wiki Articleプラグインには「Knowledgebase」プラグインに蓄積していたデータを、RedmineのWikiに移行するためのスクリプトも含め、お客様にはそれを利用してデータの移行をしていただきました。
これらの対応により「Knowledgebase」プラグインへの依存がなくなったことで、Redmineのバージョンアップもできた、というサポートでした。
「Knowledgebase」の補足
この記事を書いている2025/07/28時点ではRedmine 5.xはサポートされたようです。
上述の「当時は「Knowledgebase」プラグインはメンテナンスされてなさそう」と判断した理由はこのPRからです。 2023/06/02に作成されていますが、当時(2024年の春)だと約一年くらいマージされておらずメンテナンスされてなさそう、と判断しました。
最終的にはこのPRがマージされ、サポートされたようです。
注意: コミットログからサポートされたと判断しているだけで、Redmine 5.xにインストールして動作確認をしたわけではありません。
まとめ
弊社でRedmineのバージョンアップをサポートしたときの事例を紹介しました。
紹介した例では別のプラグインに置き換えましたが、バージョンアップに追従させるサポートも可能です。 また、今回のようにクリアコードでプラグインを開発する場合はお客さんが必要としている機能を理解した上で 汎用的なプラグインとして対応することが多いです。 その際、プラグインは自由なソフトウェアとして開発し広く公開します。 汎用的な機能のため、お客さんの機密情報などが含まれることがなく、 お客さんにとってデメリットはありません。 また他のお客さんでも使うことになったら、メンテナンス費用を 按分できるコストメリットもあります。
プラグインではなくRedmine本体を改良した方がよさそうな場合もあります。 その時はお客さんが使っているRedmineにパッチを当ててもらうのではなく、 Redmine本体に機能を提案してRedmine本体に取り込んでもらえるようにします。 自分たちでパッチを当てるよりもRedmine本体に入っていた方がアップデートが楽になり、 メンテナンスコストが下がるからです。 ただ、Redmine本体の開発をコントロールすることはできないので、 一時的にプラグインで対処したりパッチを当ててもらうということはあります。
そのようなRedmineサポートがよい方はお問い合わせフォームよりご連絡ください。