项目

常规

个人资料

操作

升级

以下文档基于升级到 Redmine 2.x 及更高版本。您可以在此处查看升级到 Redmine 1.x 的先前版本:此处

步骤 1 - 检查需求

升级 Redmine 的第一步是检查您是否满足即将安装的版本的 需求

步骤 2 - 备份

建议您备份您的数据库和文件上传。大多数升级都是安全的,但以防万一,备份总是一个好主意。

要了解如何备份 Redmine,请阅读 备份和恢复 Redmine

步骤 3 - 执行升级

现在到了执行实际升级的时候了。此过程取决于您如何下载 Redmine。您只需要执行以下选项之一。

选项 1 - 下载稳定版本

1. 以 tar.gz 或 zip 格式 下载 版本,并在新目录中解压缩新程序存档。

确保新提取和复制的文件和目录具有正确的所有者和组设置,以便运行您的应用程序服务器的用户/组可以实际访问这些文件。
此外,请记住将写入权限添加到 fileslogtmp 目录。

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升级

Go MAEDA 更新 超过 1 年前 · 84 次修订 锁定