2年ほど運用しているVPS上のプライベートRedmineのアップデートを行った
ほとんど参考サイトそのままだが手順をまとめておく
目的はRedmineの整理とレスポンシブルデザイン!
参考:http://redmine.jp/guide/RedmineUpgrade/
参考:http://qiita.com/moroishi/items/2832408a0a3fd5845b3c
参考:http://d.hatena.ne.jp/torutk/20150906/p1
環境
旧ディレクトリ:/var/lib/redmine
新ディレクトリ:/var/lib/redmine3
前回はGitでダウンロードしてきたのを展開してインストールした
アプリケーションサーバーはUnicornを使用
旧 | 新 | 備考 | |
---|---|---|---|
OS | Ubuntu 14.04.2 | ||
Redmine | 2.6.2 | 3.3.2 | |
MySQL | 5.5.41 | 5.5.41 | |
Ruby | 2.1.2 | 2.3.0 | rbenvで管理 |
rbenv | 0.4.0 | 1.1.0 | gitで管理 |
Unicorn | 4.8.3 | 5.2.0 | bundlerで管理 |
rubyの最新は2.4だったが、3.3.2は2.3までのサポートなので、2.3にする
(…2.4でやってしまい動かなかったのは内緒)
プラグインの対応表
xは未インストールのもの、またはアンインストールするもの
旧 | 新 | 対応状況 | |
---|---|---|---|
Redmine Absolute Dates plugin | 0.0.2 | x | - |
Redmine Backlogs | 1.0.6 | x | - |
Redmine Free Mind plugin | 1.1.1 | x | - |
Redmine Issue Templates plugin | 0.1.0 | x | - |
Redmine (Monitoring & Controlling) | 0.1.1 | x | - |
Redmine Readme plugin | 0.0.3 | x | - |
Redmine Agile plugin (Light version) | 1.3.8 | 1.4.2 | 3.3 |
Redmine Checklists plugin (Light version) | 3.0.4 | 3.1.5 | 3.3 |
Default Assign plugin | 0.4 | 0.5 | ? |
Knowledgebase | 3.0.7 | 3.2.1 | 3.2 |
Lightbox Plugin 2 | x | 0.3.1 | 3.3.x |
PlantUML Plugin for Redmine | x | 0.3.0 | 3.1.x |
プラグインのアンインストール
データベースの更新とプラグイン自体の削除をして再起動
アンインストールする理由は、入れたものの使っていないのがほとんど
$cd /var/lib/redmine
$rake redmine:plugins:migrate NAME=<plugin_name> VERSION=0 RAILS_ENV=production
$rm -rf plugins/<plugin_name>
$kill -QUIT `cat tmp/pids/unicorn.pid`
$bundle exec unicorn_rails -c config/unicorn.rb -E production -D
停止
$kill -QUIT `cat tmp/pids/unicorn.pid`
バックアップ
files以下とDBのバックアップを取る
永続的に残す事も考えて、まとめてzipで固めておく
$mkdir ~/Work/redmine_update
$cd ~/Work/redmine_update/
$cp -r /var/lib/redmine/files .
$mysqldump -uredmine -predmine redmine > mysql.dump
$zip redmine_backup_`date +%Y%m%d`.zip -r files mysql.dump
Ruby
rbenvのアップデート
最新をインストールするため ruby-build(ruby installを提供しているプラグイン)もアップデートする
$cd ~/.rbenv
$git pull
$cd plugins/ruby-build/
$git pull
Rubyのアップデート
ビルドするため時間が掛かる
ビルド中に以下のエラーが出たので、libreadline-devをインストールした
ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libreadline-dev` to fetch missing dependencies.
$apt-get install -y libreadline-dev
$rbenv install 2.3.0
$rbenv rehash
$rbenv global 2.3.0
$gem install bundle
$rbenv rehash
Redmineのアップデート
Redmine本体の更新
インストール時に直接展開していた場合とSVNで行った場合との2パターンがある
自分はGitでダウンロードしてきので、直接展開してた場合で行った
A. 直接展開の場合
何らかの方法でRedmineを取得し展開する
今後のアップデートの手間を考えSVNにした
#apt-get install subversion subversion-tools
$svn co http://svn.redmine.org/redmine/branches/3.3-stable /var/lib/redmine3
設定等のコピー
configuration.ymlは弄ってなかったのでなかった
Unicorn用のファイルもコピー
$cd /var/lib/redmine3
$cp ../redmine/config/database.yml config
$cp ../redmine/config/configuration.yml config
$cp ../redmine/config/unicorn.rb config
$cp ../redmine/Gemfile.local .
filesディレクトリとプラグイン、テーマをコピー
$cp -r ../redmine/files .
$cp -r ../redmine/plugins .
$cp -r ../redmine/public/themes/farend_fancy public/themes
gemのインストールと鍵生成
$bundle install --without development test
相変わらずnokogiri時間掛かるな
終わったらセッション鍵を作成
$bundle exec rake generate_secret_token
B. SVNの場合
$cd /var/lib/redmine
$svn update
$bundle update
プラグインのアップデート
古いものを削除し最新をインストール
またはGitで最新をPull
$rm -rf redmine_agile
$unzip redmine_agile-1_4_2-light.zip
$rm -rf redmine_checklists
$unzip redmine_checklists-3_1_5-light.zip
$cd redmine_default_assign
$git pull
$cd redmine_knowledgebase
$git pull
$bundle install --without development test
テーマのアップデート
$cd public/themes/farend_fancy
$git pull
データベースの更新
$bundle exec rake db:migrate RAILS_ENV=production
$bundle exec rake redmine:plugins:migrate RAILS_ENV=production
キャッシュのクリア
$bundle exec rake tmp:cache:clear tmp:sessions:clear
起動
$bundle exec unicorn_rails -E production -c config/unicorn.rb -D
結果
無事起動を確認できた…のだが、どうも一部の表示がおかしい
タブやボタンなどが重なっていたり2重になっていたりする
ん~レスポンシブルデザインでスマホで見れるようになったのが個人的に嬉しくてアップデートしたのだけれど…
デフォルトテーマにしても同様の様子、またCSS見てみるか
データは全然問題なかったので一安心
追記:
chromeだと崩れてedgeだと正しく表示された
メインPCのchromeのみで崩れるようなので、調べてみた所、chromeのキャッシュクリアで治った