インストール済みのRedmineをRedMica 1.2に切り替える手順

2020-12-02 12:00  •  分類:  •  前田剛

インストール済みの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が動作していることをバージョン表示で確認できます。

なお、ブラウザのキャッシュの影響で画面表示が崩れる場合があります。そのときはキャッシュのクリアをしてみてください。

作成: 2020-12-02 12:00  •  分類: