Bitnami Redmine 升级简易指南

Posted on Sep 27, 2016

顺利地将项目组的 Redmine 从3.1.0 升到3.3.0,没遇到什么问题。因为用的是 Bitnami 集成包,结合 Bitnami 和 Redmine 的文档,很快就完成了升级。

系统需求

适用于Windows平台的 Bitnami Redmine 2.x+ 升级到 3.3,Redmine 的 Ruby, Rails 系统需求见下表

Redmine version Supported Ruby versions Rails version used
3.3, current trunk ruby 1.9.3, 2.0.0, 2.1, 2.21, 2.3 Rails 4.2
3.2, 3.1 ruby 1.9.3, 2.0.0, 2.1, 2.21 Rails 4.2

Redmine 3.2 or lower does not support Ruby 2.3. Redmine 3.3 supports Ruby 2.3. Redmine does not support JRuby because some gems do not support Rails 4.2. 细节参看 Requirements

备份数据

Bitnami Stack

若使用 Bitnami 集成包,可以直接备份整个目录即可。

Redmine

若只升级 Redmine 则先确认系统需求然后执行备份。

备份文件

最好备份整个 redmine 目录,主要包括

  • 上传文件(apps\redmine\htdocs\files)
  • 插件(apps\redmine\htdocs\plugins)
  • 主题(apps\redmine\htdocs\themes)
  • 配置文件(apps\redmine\htdocs\config)

备份数据库

mysql -u root -p bitnami_redmine > redmine_backup.sql

开始升级

完成了数据备份,那么就可以开始着手升级 Redmine 了。

卸载旧版本

如果使用的 Bitnami 集成包,需要先停止并删除服务。 以管理员身份运行 cmd;

cd bitnami_dir
servicerun.bat STOP
serviceinstall.bat REMOVE

打开 manager-windows.exe 查看 Manage Servers 服务状态,确认所有服务已经被移除。

安装新版本

  1. 安装 bitnami-redmine-3.3.0-1-windows-installer.exe
  2. 如果记得之前的配置参数,可以在安装时设置好。

更新文件

配置文件

按照旧版本的配置,设置好新版本的参数。 apps\redmine\htdocs\config\configuration.yml 注意:yml文件格式,配置项的冒号后一定要有空格

上传文件

复制备份文件到新版本的对应目录

  • apps\redmine\htdocs\files

插件及主题

复制备份文件到新版本的对应目录

  • apps\redmine\htdocs\plugins
  • apps\redmine\htdocs\themes

更新数据库

  1. 运行 manager-windows.exe,停止数据库外的其它所有服务;
  2. 登录数据库,如果数据库不在本地需要加 -h 参数指定主机名;
mysql -u root -p 
mysql> drop database bitnami_redmine;
mysql> create database bitnami_redmine;
mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'DATABASE_PASSWORD';
mysql> quit
  1. 导入之前的备份数据
mysql -u root -p bitnami_redmine < redmine_backup.sql
  1. 更新数据库用户名和密码,配置文件为 apps/redmine/htdocs/config/database.yml,如果安装时设置了,似乎不用再设置
    production:
      adapter: mysql2
      database: bitnami_redmine
      host: localhost
      username: bn_redmine
      password: "DATABASE_PASSWORD"
      encoding: utf8
  2. 迁移数据库到最新版
cd apps/redmine/htdocs 
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

如果安装过插件,执行 bundle exec rake redmine:plugins:migrate RAILS_ENV=production

清理

  1. 清理缓存 bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production
  2. manager-windows.exe 重启所有服务;
  3. 如果有新功能的话,登录Redmine到“角色和权限”里设置新功能的权限;

总结

升级很简单,几乎没遇到问题。之前在将Redmine 2.5升级到3.1时,没有仔细看文档,结果没有升级成功,后来只好用了3.1版本,数据也没有迁移过来。这一次升级后考虑迁移2.5版本的数据,却已经发现用户表数据不一致,迁移复杂度大大增加,只好作罢,不过数据一直保留着。对于常规系统的运维,最重要的还是数据备份。使用rm,drop database 等命令之前要谨慎,否则真是要欲哭无泪。


参考资料

  1. https://docs.bitnami.com/installer/apps/redmine/#how-to-upgrade-redmine
  2. http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade
  3. https://docs.bitnami.com/installer/windows-faq/#how-to-upgrade-a-bitnami-stack
  4. http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Requirements