Redmine 3.4 リリース
ついに出ました Redmine 3.4。
待ってた一年ぶり。
待ちきれずに 3.3 にしちゃったので本当に待ってた。
今回は神アップデートですよ
今回はホントに多くの機能追加があり、
この機能のためだけにバージョン上げるぜってのが結構ある。
更新者フィルターとか、全幅カスタムフィールドとか。
新機能は以下のサイトが詳しいです。
- Redmine.JP
SVNアップデートをやってみる
お気に入りの機能紹介はとりあえず置いといて、
さっそくアップデートをやりましょう。
これまでバージョンは tar を解凍してたのですが、
Redmine 勉強会で @g_maeda さんの発表にあった
『リポジトリ(SVN)からソースをチェックアウトでのバージョンアップ』を試すことに。
@g_maeda さんの redmine.tokyo での発表資料(2016/11)
この方法のメリットはバージョンアップが楽になること。
前回SVN チェックアウトで Redmine 3.3.2 をインストールしたため、
今回SVN経由でバージョンアップ作業が可能に。
どれくらい楽になるか楽しみだ。
環境
至極普通のLinux環境です。
- CentOS 7.2
- Apache 2.4.6
- MYSQL(mariaDB 10.1)
- Ruby 2.3.1
- Redmine 3.3.2 + #24617 パッチ(アップデート時にCSS/JSキャッシュクリアしてくれる)
前提条件
- Redmine をSVNチェックアウトで構築していること
方針
- SVN経由で更新すると、当然そのディレクトリが更新されるので、事前にコピーをとっておく
- Redmine ディレクトリをコピーすることでテーマやDBの設定ファイルを引き継ぎ
- プラグインは一旦全部外す(サブディレクトリに退避)
作業概要
- ディレクトリ構成確認
- 3.4 用フォルダ作成(3.3フォルダをコピー)
- プラグインを全退避
- SVN update
- bundle & rake
- シンボリックリンク貼り替え
- Redmine 再起動
コマンドは、前述の『Redmineのバージョンアップに追従していくための一工夫』の P.18-20 を参照
1. ディレクトリ構成確認
- redmine_home: /var/lib/redmine
- redmine-3.3.2(現在の本番)
- redmine-3.3.x(過去のRedmineフォルダ)
- redmine-3.4.0(今回作成する Redmine)
※最新のRedmineフォルダにシンボリック "redmine" を貼ってアクセスさせている。
2. Redmine 3.4 用フォルダ作成(3.3フォルダをコピー)
SVN経由で更新をかけるとそのフォルダが更新されるため、
旧バージョンのディレクトリをコピーして、redmine-3.4.0 ディレクトリを作り、
そのディウレクトリをSVNで更新する。
3. プラグインディレクトリを初期化
プラグインディレクトリをそのままにしていたら、rakeに失敗した。
全プラグインをサブディレクトリに作って、退避する。
4. SVN チェックアウト
手動でパッチを当てたファイルを失念しており、conflict が発生。
その後、conflict の解決のため、競合ファイルを削除し、
再度SVNから取得した。
発生するまで忘れていたが、
逆にコレで手を入れた部分の洗い出しができるのでは(気づき)。
5. bundle & rake
- bundle update
- bundle exec rake db:migrate
- bundle exec rake tmp:clear
6. シンボリックリンク貼り替え
- 旧シンボリックリンク削除
- 新シンボリックリンク作成
7. Redmine 再起動
→Webサーバ(Apache)再起動
ブラウザでアクセスして、画面が表示された、OK。
まとめ
リポジトリ(SVN)からソースをチェックアウトでのバージョンアップをやってみて
- すごく簡単。設定ファイルのコピー漏れなどつまらない失敗も起きない
- 自分でパッチ当てたところもキャッチできる
というわけで、次からはこの方法でやろうと思いました。
さあ、これで新機能を楽しめるようになったぞ。
そしたら次はプラグインだ。
【2017/08 プラグインの更新を実施】
ここから一つずつ検証する地道な作業が始まる。
私環境では全社で使っているため、運用上必須のプラグインが多くあり、
プラグイン対応がRedmineのバージョンをあげられないのです。
Redmine 関係者 および プラグイン作者を応援しています。
よければこちらも
Redmine 3.4 へのプラグインインストール