ALMiniumのアップグレード

ALMiniumを稼働させている仮想マシンをVirtualBoxからKVMへ移行しました。これで常時稼働させるマシンはKVM、主にデスクトップ系で作業をしないときは電源をきっても良いマシンはVirtualBoxといった分担にできました。移行作業にあたっては、ALMiniumのアップグレードも必要だったので備忘録としてメモを残しておきます。

基本的にはRedmineのアップグレード作業をすれば良いので、「アップグレード — Redmine Guide 日本語訳」の手順が参考になります。

バックアップは、/opt/alminium/files にあるファイルと、/var/opt/alminium にあるリポジトリをアーカイブする必要があります。また、MySQLのデータは、/opt/alminium/config/database.yml にある接続情報からダンプしておく必要があります。

新しいマシンの方にはALMiniumを新規インストールして、そこへ先ほどのMySQLのデータをリストアします。/opt/alminium/files, /var/opt/alminium はバックアップして持ってきたものと入れ替えます。ここでは、alminium.dump、opt.alminium.tgz, var.opt.alminium.tgz というファイルで持ってきているとします。

# mysql -u root -p alminium < alminium.dump 
# mv /var/opt/alminium /var/opt/alminium.bak
# tar xf var.opt.alminium.tgz -C /var/opt
# mv /opt/alminium/files /opt/alminium/files.bak
# tar xf opt.alminium.tgz -C /opt/alminium

次に、DBのマイグレーションをします。/opt/alminiumをカレントディレクトリとしたら下記のようにします。

# cd /opt/alminium
# rake db:migrate RAILS_ENV="production"
# rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production

これでALMiniumは動くようになりますが、Backlogsのプラグインでエラーがおきます。ここからよくわからないのですが、Backlogsがupgrade_plugin_migrationsを提供していないのかもしれません。よくわからないので下記を実行してみました。なんとなくBacklogsのプラグインだけマイグレーションする指定方法がありそうなのですが、そこまでは調べていません。

# rake db:migrate_plugins RAILS_ENV=production

すると、rake が abort します。次の2つについては適用不要なので、self.upメソッド部分の処理内容をコメントにしました。メソッドそのものは残します。

  • /opt/alminium/plugins/redmine_backlogs/db/migrate/037_add_rb_project_settings.rb
  • /opt/alminium/plugins/redmine_backlogs/db/migrate/039_add_show_in_scrum_stats_project_setting.rb

再度、下記を実行しました。Backlogsの次のプラグインのところでエラーがでますが、いまのところBacklogs以外では問題がなさそうなので、そのままにしておきます。

# rake db:migrate_plugins RAILS_ENV=production

Apache HTTP Serverを再起動したところ、Backlogsのエラーが消えました。

# service httpd restart

いまのところ、Redmineの基本機能とgitリポジトリしか使っていないので、たぶんこれで問題はないはずです。プラグインのアップデートまわりはもう少し調べてみようと考えています。

ALMiniumを使うと新規導入は手軽にできるのですが、その後の運用でアップグレードをしたいときなどにどうすれば良いかよくわかっていないので、一度 Redmine と、そのPluginをソースからインストールしたりアップグレードしたりすることをしてみた方がいいのかもしれないと思いました。

Rubyについては下記が参考になるでしょう。

同じタグの記事: ALMinium
同じタグの記事: Linux
同じタグの記事: Rails
同じタグの記事: Redmine
同じタグの記事: Ruby
同じカテゴリの記事: Linux
関連書籍: Ruby