升级¶
以下文档基于升级到 Redmine 2.x 及更高版本。您可以在此处查看升级到 Redmine 1.x 的先前版本:此处。
- 目录
- 升级
步骤 1 - 检查需求¶
升级 Redmine 的第一步是检查您是否满足即将安装的版本的 需求。
步骤 2 - 备份¶
建议您备份您的数据库和文件上传。大多数升级都是安全的,但以防万一,备份总是一个好主意。
要了解如何备份 Redmine,请阅读 备份和恢复 Redmine。
步骤 3 - 执行升级¶
现在到了执行实际升级的时候了。此过程取决于您如何下载 Redmine。您只需要执行以下选项之一。
选项 1 - 下载稳定版本¶
1. 以 tar.gz 或 zip 格式 下载 版本,并在新目录中解压缩新程序存档。
确保新提取和复制的文件和目录具有正确的所有者和组设置,以便运行您的应用程序服务器的用户/组可以实际访问这些文件。
此外,请记住将写入权限添加到 files
、log
和 tmp
目录。
2. 将您的数据库设置文件 config/database.yml
复制到新的 config
目录。如果您使用 mysql 和 ruby1.9 运行 Redmine >= 1.4,则将数据库适配器更改为 `mysql2`。
3a. 将您的基配置设置文件 config/configuration.yml
复制到新的 config
目录。
3b. 或者,如果从低于 1.2.0 的版本升级,则将您的电子邮件设置从 config/email.yml
复制到新创建的 config/configuration.yml
文件,该文件可以通过复制可用的 configuration.yml.example
文件创建。
4. 将 files
目录的内容复制到您的新安装中(此目录包含所有上传的文件)。
5. 将您自定义插件的文件夹从 plugins
目录(或升级自1.x版本时的 vendor/plugins
目录)复制到新的安装 plugins
目录。请确保只复制之前Redmine设置中没有捆绑的插件。
6. 通过运行以下命令安装所需的gem:
bundle config set --local without 'development test' bundle install
只有数据库配置文件中指定的适配器所需的gem才会实际安装(例如,如果您的config/database.yml使用的是'mysql2'适配器,则只会安装mysql2 gem)。当您更改config/database.yml以使用其他数据库适配器时,别忘了重新运行`bundle install`。
如果您需要加载Redmine核心不需要的某些gem(例如fcgi),您可以在redmine目录的根目录下创建一个名为Gemfile.local的文件。在运行`bundle install`时,它将自动加载。
7. 从新的Redmine根目录运行以下命令:
如果您是从Redmine 2.x或更早版本升级,如果存在以下文件,请将其删除:- config/initializers/secret_token.rb
然后在应用程序目录下运行以下命令以生成新的密钥:
bundle exec rake generate_secret_token
或者,您可以将此密钥存储在config/secrets.yml中
https://guides.rubyonrails.net.cn/upgrading_ruby_on_rails.html#config-secrets-yml
8. 检查您可能在public/themes
目录中安装的主题。您可以复制它们,但检查更新版本是理想的。
非常重要:不要用旧的config/settings.yml
覆盖。
选项2 - 从SVN检出升级¶
1. 前往Redmine根目录并运行以下命令:
svn update
2. 通过运行以下命令安装所需的gem:
bundle update
步骤4 - 更新数据库¶
此步骤可能会更改数据库的内容。前往新的redmine目录,然后迁移数据库
bundle exec rake db:migrate RAILS_ENV=production
如果您安装了任何插件,也应运行它们的数据库迁移
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
步骤5 - 清理¶
1. 清除缓存
bundle exec rake tmp:cache:clear RAILS_ENV=production
2. 重新启动应用程序服务器(例如puma,thin,passenger)
3. 最后,前往“管理 -> 角色 & 权限”以检查/设置新功能(如果有)的权限。
常见问题¶
仓库管理错误¶
在reposman.rb文件中添加了几个新功能,如果您遇到问题,请确保指定了组(--group=groupnamehere)。此外,如果只复制了您的Redmine.pm,请再次遵循此处的说明,并更新您的Apache配置,因为推荐的配置已更改。
生成新的secret_token.rb
¶
在2.0.0之前,需要生成一个session_store.rb
文件在Redmine的config
目录中,以便基于cookie的会话工作。
从2.0.0开始,session_store.rb
文件不应存在。相反,以下命令将生成secret_token.rb
文件
bundle exec rake generate_secret_token
注意:Redmine的代码库不包含config/initializers/secret_token.rb文件,它是由上述rake命令创建的。
相关资源¶
以下资源可能有助于您的Redmine升级