github.com/redmine/redmine の運用を引き継いだ


My Redmine

前田です。毎朝歩いて通勤していて、時々WetherShotという天気が一緒に記録されるアプリを使って出勤途中に写真を撮って遊んでいます。朝8時すぎでも30℃以上の気温がほぼ当たり前で、いつも汗だくになって会社に到着しています。

ミラーリポジトリ github.com/redmine/redmine の運用を引き継いだ

オープンソースのプロジェクト管理ソフトウェアRedmineのソースコードは公式サイトのリポジトリ https://svn.redmine.org/ で公開されていますが、これ以外にGitHub上にもミラーリポジトリ https://github.com/redmine/redmine があります。公式のSubversionリポジトリの内容がそのままGitリポジトリとして公開されています。

GitHub上のミラーリポジトリはRedmineの公式のものではなく、Jean-Baptiste Barthさんという個人の方が長年運営していました。2022年3月、この管理を私が引き継ぎました。

引き継ぐことになったきっかけは、3月のある日公式のSubversionリポジトリからミラーリポジトリへの同期が止まっていることをBarthさんに報告したことです。そのときに同期の仕組みを誰かが引き継いでくれてもよいという話が出たので、引き継ぎを申し出ました。

Barthさんから同期用のスクリプトとデータ一式を受領し、2022年3月27日からファーエンドテクノロジーにて同期の運用を開始しています。

Sorry forgot to reply. GitHub stopped supporting some host key algorithms on March 15th and my old server can’t connect via ssh anymore. I can’t upgrade it so I need to setup a new one. Sorry for the inconvenience. If a core committer wants to take over the sync, it works for me

— Jean-Baptiste Barth 👨‍💻🤦‍♂️ (@jbbarth) March 21, 2022

ミラーリポジトリの役割

Redmineのソースコードを管理している公式のリポジトリは前述の通りSubversionが使われています。近年はオープンソースプロジェクトのバージョン管理システムとしてはGitが選ばれることがほとんどですが、2006年に開発が始まったRedmineでは歴史的な経緯から現在もSubversionが使われています。

しかしながら、現在Redmineのソースコードのリポジトリへのアクセスを必要とする人々の多くは利便性とツールへの慣れの点からSubversionよりもGitリポジトリを必要としています。またGitHubはオープンソースプロジェクトのリポジトリホスティングとして事実上の標準となっています。このため、GitHub上のミラーリポジトリ https://github.com/redmine/redmine はRedmineに関わる開発者のほとんどと利用者の一部にとってはなくてはならないものとなっています。

皆さんに今後も安心してRedmineと github.com/redmine/redmine を利用していただけるようトラブルなく運用していきたいと考えています。

同期の仕組み

公式のSubversionリポジトリからGitHub上のリポジトリへの同期は、git-svnをインストールした同期サーバで行っています。

git-svnはgitコマンドでSubversionリポジトリにアクセスできるツールです。 git svn clone を実行するとリモートのSubversionリポジトリと同じ内容のGitリポジトリがローカルに作成されます。その後は git svn fetch を実行すると、Subversionリポジトリ上の新しいコミットが git svn clone で既に作成済みのローカルのGitリポジトリに反映されます。

同期サーバで下記のスクリプトのうち sync.sh を5分ごとに実行し、 https://svn.redmine.org/ からの git svn fetchgit@github.com:redmine/redmine.git への git push を行うことで2つのリポジトリの同期を実現しています。また、Subversion側で4.2-stableや5.0-stableなどのブランチが追加されたときの処理を行う add-stable-branches.sh を1時間ごとに実行しています。

【お知らせ】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。


こちらの記事もオススメです!
GitLabからGitHubへリポジトリを移行しました
Gitlab・GitHubともにAPIが充実しているため、やりたいことのほとんどをコード化して多くのリポジトリの移行を素早く行えました。
Ubuntuの仮想環境を構築・管理できる「Multipass」を使ってみた
Multipassは、Ubuntuの仮想環境を構築し管理することができるソフトウェア。そのメリットとデメリット。
Redmineのバグを見つけて改善できた話
会社で使っているRedmineでバグを発見。Redmineの改善につなげるため気がついたことを共有しています。
RedMica 2.1(Redmine 5.0互換)と Azure AD で SAML認証 をする方法
RedMica stable-2.1(Redmine 5.0互換)でSAML認証する方法。
Rails7.0にアプリケーションをアップデートしています
社内で開発中のRuby on RailsアプリケーションをVer6.1系からVer7.0系にアップデートした手順の一部をご紹介します。
ファーエンドテクノロジーからのお知らせ(2024/04/24更新)
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】
入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ
Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。
2024年度ブランドパートナーに島根県在住のモデル ユイさんを継続起用
ユイさん(モデルスタジオミューズ所属)をファーエンドテクノロジーの2024年度ブランドパートナーとして継続して起用します。
My Redmine スタンダードプランおよびAdminサポートデスクプランの料金改定のお知らせ【2024年4月ご利用分より】
2024年4月ご利用分より、My Redmine スタンダードプラン(民間企業・個人向け及び官公庁向け)とAdminサポートデスクプランの料金を改定いたします。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け