インストール済みのRedmineをRedMica 1.2に切り替える手順
インストール済みのRedmineをRedmine互換のRedMica 1.2に切り替える手順例です。
RedmineをRedMicaに切り替えることにより、まだリリースされていないRedmineの次期バージョン4.2の新機能の一部を今すぐ利用できます。
Redmineの最新バージョン4.1からRedMica 1.2に切り替えることで先行利用できるようになる新機能は、以下の資料で確認できます。
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
RedMica — 今日使える明日のRedmine
RedMicaはRedmine互換のオープンソースソフトウェアで、Redmineのソースコードをもとにファーエンドテクノロジー株式会社がリリースしています。ファーエンドテクノロジーが提供するクラウドサービス「My Redmine」でも使われています。
最大の特長はRedmineの次期バージョンの新機能の一部を先行して利用できることです。例えば、リリース時期未定のRedmine 4.2の新機能である二要素認証やグループ単位のウォッチャー追加などがすでに利用可能です。
参考: RedMica (ファーエンドテクノロジー版Redmine)
想定環境
本手順は次の環境からの切り替えを想定しています。
- Redmine 3.4, 4.0, または 4.1
- Ruby 2.4以降 (RedMica 1.2はRuby 2.3以前には対応していません)
- OSはLinux
- プラグイン無し
手順
バックアップ取得
作業前に切り替え対象Redmineのディレクトリをバックアップしてください。
バックアップ対象:
- 移行元Redmineのソースコード一式(Redmineのインストールディレクトリの内容一式)
- データベース
- 添付ファイル一式(Redmineのインストールディレクトリ直下の
files
ディレクトリ、またはconfig/configuration.yml
内のattachments_storage_path
で指定されたディレクトリ)
RedMica 1.2のソースコード取得
テンポラリディレクトリでRedMica 1.2のソースコード(RedMicaのstable-1.2ブランチのソースコード)を取得します。下記コマンドを実行すると、 /tmp/redmica
にRedMica 1.2のソースコードが置かれた状態になります。
cd /tmp
git clone -b stable-1.2 https://github.com/redmica/redmica.git
切り替え対象RedmineのディレクトリにRedMicaの .git ディレクトリをコピー
Redmineのリポジトリ情報を削除して、代わりにRedMicaのリポジトリ情報を置きます。
まず、切り替え対象Redmineのディレクトリに移動します。
cd /path/to/redmine
もしRedmineのディレクトリに .svn
または .git
ディレクトリがあれば削除します。いずれもRedmineのリポジトリの管理データで、Redmineソースコードを svn
コマンドまたは git
コマンドで取得した場合に存在します。
rm -rf .svn .git
RedMica 1.2のソースコードのディレクトリからGitリポジトリの管理データ(.gitディレクトリ)のみコピーします。
cp -a /tmp/redmica/.git .
RedmineのソースコードをRedMica 1.2のソースコードに切り替える
git checkout .
を実行してRedmineのソースコードをRedMicaに切り替えます。
git checkout .
上記の操作後、古いRedmineにのみ存在するファイルが残ります。それらのファイルを削除してください。
削除候補のファイルは git status
で確認できます。このコマンドでRedMicaのリポジトリのバージョン管理対象外のファイルが確認できます。ここで表示されるファイルのうち、古いRedmineのファイルを削除してください。
git status
もしRedmineのインストールディレクトリの中に独自にファイルを追加していなければ、 git status
で表示されるバージョン管理対象外のファイルはすべて削除してもかまいません。以下のコマンドですべての管理外ファイルを削除できます。
git status --short | grep '^??' | awk '{print $2}' | xargs rm -rf
RedMica 1.2へのアップデート
ここからはRedmineの通常のバージョンアップ手順と同じです。doc/UPGRADINGを参考に作業を進めます。
gemのアップデート
bundle update
データベースマイグレーション
bin/rails db:migrate RAILS_ENV=production
キャッシュ等のクリア
bin/rails tmp:clear
アプリケーション再起動
touch tmp/restart.txt
動作確認
Redmine改めRedMicaにアクセスして動作を確認します。システム管理者権限を持つユーザーでログインして、「管理」→「情報」画面を見てみましょう。RedMica 1.2が動作していることをバージョン表示で確認できます。
なお、ブラウザのキャッシュの影響で画面表示が崩れる場合があります。そのときはキャッシュのクリアをしてみてください。