跳至主要内容
版本:1.23.6

從舊版 Gitea 升級

按照以下步驟確保順利升級到新版本的 Gitea。

檢查變更日誌中的重大變更

為了使 Gitea 更好,一些重大變更是不可避免的,特別是對於大里程碑版本。 在升級之前,請閱讀 Gitea 博客上的變更日誌 並檢查這些重大變更是否會影響您的 Gitea 實例。

驗證沒有已棄用的配置選項

Gitea 的新版本通常會帶有更改的配置語法或選項,這些選項通常會在站點管理面板頂部顯示至少一個發布週期。如果這些警告未解決,Gitea 可能會拒絕在下一版本中啟動。

降級備份

Gitea 保持對補丁版本的兼容性,其前兩個字段相同(a.b.x -> a.b.y), 這些補丁版本可以使用相同的數據庫結構進行升級和降級。 否則(a.b.? -> a.c.?),較新的 Gitea 版本將升級舊數據庫 到可能與舊版本不同的新結構。

例如:

結果
1.4.01.4.1
1.4.11.4.0⚠️ 不建議,請自行承擔風險!雖然如果數據庫結構沒有更改,它可能會工作,但強烈建議使用備份進行降級。
1.4.x1.5.y✅ 數據庫已升級。您可以直接從 1.4.x 升級到最新的 1.5.y。
1.5.y1.4.x❌ 數據庫已經升級,無法用於舊版 Gitea,請使用備份進行降級。

由於您無法運行升級後的數據庫的舊版 Gitea, 在數據庫升級之前應始終進行備份。

如果您在生產環境中使用 Gitea,強烈建議在升級之前進行備份, 即使升級是在補丁版本之間進行的。

備份步驟:

  • 停止 Gitea 實例
  • 備份數據庫
  • 備份 Gitea 配置
  • 備份 APP_DATA_PATH 中的 Gitea 數據文件
  • 備份 Gitea 外部存儲(例如:S3/MinIO 或其他使用的存儲)

如果您使用雲服務或具有快照功能的文件系統, 為 Gitea 數據卷和相關對象存儲創建快照更方便。

在所有步驟準備就緒後,下載新版本,停止應用程序,執行備份, 然後啟動新應用程序。在每次啟動時,Gitea 會驗證數據庫是否是最新的,並自動 執行任何必要的遷移。根據數據庫的大小,這可能會在 首次啟動期間需要一些額外時間,期間應用程序將不可用。

使用 Docker 升級

  • docker pull 最新的 Gitea 版本。
  • 停止運行的實例,備份數據。
  • 使用 dockerdocker-compose 啟動較新的 Gitea Docker 容器。

從包升級

  • 停止運行的實例,備份數據。
  • 使用您的包管理器將 Gitea 升級到最新版本。
  • 啟動 Gitea 實例。

從二進制文件升級

  • 將最新的 Gitea 二進制文件下載到臨時目錄。
  • 停止運行的實例,備份數據。
  • 用下載的二進制文件替換已安裝的 Gitea 二進制文件。
  • 啟動 Gitea 實例。

可以在 Gitea 的源代碼樹中找到一個自動執行這些步驟的腳本,用於在 Linux 上部署 contrib/upgrade.sh

注意自定義模板

Gitea 的模板結構和變量可能會在版本之間發生變化,如果您使用自定義模板, 請注意您的模板是否與您使用的 Gitea 版本兼容。

如果自定義模板與 Gitea 版本不匹配,您可能會遇到: 50x 服務器錯誤,頁面組件丟失或故障,頁面佈局異常,... 刪除或更新不兼容的模板,Gitea 網頁將再次正常工作。