作業途中を個別の記事を書いております。随時こちらにリンクを追記していきます。
途中で方針変更や移行を挫折し中断する可能性もあるかもしれません。
- Subversion → Git
-
Redmine → GitLab
- Roadmap → Milestone
- Issue
- Wiki (Textile) → Wiki
-
Trac → GitLab
- Milestone (via Redmine Roadap)
- Ticket → Issue (via Redmine Issue)
- Wiki (MoinMoin) → Pages (Markdown + MkDocs)
経緯
Trac+Subversion+Jenkins, Redmine+Subversion/Git+Jenkins, GitLab CE などを時代に合わせてオンプレで運用してきたが、サーバーの管理・維持、新規開発者のスキル(とくに Git ネイティブ世代の若者達)などの関係もあり、Trac/Redmine/Jenkins は廃止し、GitLab に移行・統合したくなってきた。
概要
- 複数ある Trac プロジェクトを Redmine on Docker 経由で GitLab CE に移行
- 複数ある古いバージョンの Redmine サイトを Redmine on Docker 経由で GitLab に移行、あるいは Redmine 最新版へ移行
- Issue / チケット番号の件があるので要検討
- Subversion は Git に変換
- Jenkins はまずは GitLab 連携で進み、何れは GitLab CI/CD に移行する
*1: 拙作ツール https://github.com/hkato/trac-username-converter
*2: migrate_from_trac.rake - 拙作パッチ https://github.com/hkato/migrate_from_trac.rake
*3: yaml_db - https://github.com/adamwiggins/yaml_db/network/members
*4: redmine-gitlab-migrator - https://github.com/redmine-gitlab-migrator/redmine-gitlab-migrator/network/members
プロジェクト管理編
Ticket/Issue, Milestone/Roadmap, Wiki などをどう移行させるか。
- 最小限のGitLab環境を作る(移行テスト用) GitLab CE on Docker
Trac から Redmine へ
- いまさらだけどTracからRedmineに移行する Milestone/Ticket→Roadmap/Issue
- いまさらだけどTracからRedmineに移行する(ユーザー名変換)
Trac から GitLab へ
- Trac を Redmine 経由で GitLab に移行する Milestone/Issue
- Trac WikiをMkDocs形式のMarkdownに変換する MoinMoin Wiki→Pages(MkDocs)
Redmine から GitLab へ
- Redmine を GitLab に移行する Roadmap/Issue→Milestone/Issue
-
Redmine Wiki を GitLab Wiki に変換する
Textile Wiki→ Markdown Wiki
リポジトリー編
Subversion から Git にどう移行させるか。
- いまさらだけどSubversionからGitへ移行する(その1: リポジトリー変換)
- いまさらだけどSubversionからGitへ移行する(その2: プロジェクト・ディレクトリー分割)
- いまさらだけどSubversionからGitへ移行する(その3: SVN Rev)
CI/CD編
Jenkins の話は…いらないか。