Redmine3.3.4をRedmine3.4.5へアップグレード
バージョンアップ環境情報
既存環境
Redmineの管理>情報より
Environment:
Redmine version 3.3.4.stable.16840
Ruby version 2.3.3-p222 (2016-11-21) [x86_64-linux]
Rails version 4.2.7.1
Environment production
Database adapter PostgreSQL
SCM:
Subversion 1.7.14
Git 1.8.3.1
Filesystem
Redmine plugins:
no plugin installed
その他
- Redmineのルートディレクトリ:
/var/lib/redmine
->/var/lib/redmine-3.3
新規環境
Redmineの管理>情報より
Environment:
Redmine version 3.4.5.stable.17297
Ruby version 2.3.3-p222 (2016-11-21) [x86_64-linux]
Rails version 4.2.8
Environment production
Database adapter PostgreSQL
SCM:
Subversion 1.7.14
Git 1.8.3.1
Filesystem
Redmine plugins:
no plugin installed
その他
- Redmineのルートディレクトリ:
/var/lib/redmine
->/var/lib/redmine-3.4.5
手順メモ
既存環境のデータをバックアップ
万が一アップグレードに失敗した場合、元に戻せるようにバックアップを取得しておきます。
PostgreSQLのデータをpg_dump
でバックアップ
PostgreSQLへの接続情報などは、/var/lib/redmine/config/database.yml
で確認できます。
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "******"
encoding: utf8
上記内容を参考に、以下のコマンドを発行して、データベースのバックアップを取得します。
バックアップ取得は/home/work
のディレクトリがある前提で行います。
# /usr/bin/pg_dump -U <username> -h <hostname> -Fc --file=redmine.sqlc <redmine_database>
cd /home/work
/usr/bin/pg_dump -U redmine -h localhost -Fc --file=redmine.sqlc redmine
添付ファイルのバックアップ
Redmineにアップロードされているファイルを丸ごとバックアップします。
ファイルの場所情報は、/var/lib/redmine/config/configuration.yml
で確認できます。
attachments_storage_path
の定義がなければ、デフォルトのfiles/
配下が格納先です。
cd /home/work
cp -rp /var/lib/redmine/files ./
Redmine3.3をRedmine3.4へバージョンアップ
バージョンアップの手順はいくかのパターンがあるみたいですが、今回はSVNのリポジトリから取得するやり方でバージョンアップを実施します。
現在のRedmine3.3のSVN情報を念のため確認
cd /var/lib/redmine
svn info
パス: .
Working Copy Root Path: /var/lib/redmine
URL: http://svn.redmine.org/redmine/branches/3.3-stable
リポジトリのルート: http://svn.redmine.org/redmine
リポジトリ UUID: e93f8b46-1217-0410-a6f0-8f06a7374b81
リビジョン: 16840
ノード種別: ディレクトリ
準備中の処理: 特になし
最終変更者: jplang
最終変更リビジョン: 16746
最終変更日時: 2017-07-02 20:55:40 +0900 (日, 02 7月 2017)
httpdのサービスを停止しておく
systemctl stop httpd.service
Redmine3.3の環境を退避してシンボリックリンクにより/var/lib/redmine
でアクセスできるようにしておく
今後のバージョンアップも考慮して、容易にバージョンアップできるようにするために、シンボリックリンクでRedmineが動作するように環境を整備しておく。
cd /var/lib
mv redmine redmine-3.3
ln -s /var/lib/redmine-3.3 /var/lib/redmine
シンボリックリンク対応が完了したら、一応httpdを起動して接続できることを確認して、大丈夫だったらまたhttpd停止する。
Redmine3.4用のフォルダ準備
Redmine3.4.5のバージョンを利用するため、Redmine3.4.5用のフォルダを準備します。
フォルダは、Redmine3.3の中身含めて全てコピーして利用します。
cd /var/lib
cp -rp redmine-3.3 redmine-3.4.5
SVNのリポジトリを3.3-stable
から3.4-stable
に切り替える
cd /var/lib/redmine-3.4.5
svn switch http://svn.redmine.org/redmine/branches/3.4-stable
bundle
コマンドを利用してアップグレード
cd /var/lib/redmine-3.4.5
bundle update
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake tmp:clear RAILS_ENV=production
シンボリックリンクの差し替え
cd /var/lib
unlink ./redmine
ln -s /var/lib/redmine-3.4.5 /var/lib/redmine
httpdを開始して動作確認
systemctl start httpd.service
以上でアップグレード終了!