專案

一般

設定檔

動作

升級

以下文件基於升級到 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

然後在應用程式目錄下執行以下指令以產生新的 secret:

bundle exec rake generate_secret_token

或者,您可以將此 secret 儲存在 config/secrets.yml 中
https://rails-guides.dev.org.tw/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=您的群組名稱)。此外,如果您只複製了 Redmine.pm,請務必再次按照這裡的說明進行操作,並更新您的 Apache 設定,因為建議的設定已變更。

產生新的 secret_token.rb

2.0.0 之前,需要在 Redmine 的 config 目錄中產生 session_store.rb 檔案,才能使基於 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 MAEDA1 年多前 更新 · 84 個版本 已鎖定