在生產階段前環境中執行升級的試執行

Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019

我需要兩者嗎?

強烈建議您在生產前環境中執行升級,但不一定合理。 如果您要討論是否要進行生產前升級,請根據不這麼做的成本來考慮成本。 特別是,如果生產升級發生問題,當您復原到舊版 TFS 時,主要成本將會是相關的停機時間。 視升級的詳細數據而定,這可能是快速且直接的程式,或者可能需要很長的時間,並牽涉到許多行動元件。 就像升級一樣,復原的複雜度取決於資料庫大小、涉及的機器數目等專案。

基本概念

如果您決定繼續進行生產階段前升級,一般程式包含:

  1. 建立與生產環境類似的生產前環境。
  2. 保護您的生產環境。
  3. 從備份還原資料庫。
  4. 執行升級。

建立環境

在理想的世界中,您的生產前環境看起來會與生產環境完全相同,如此一來,您就可以盡可能精確了解升級需要多久時間、您是否會在過程中遇到任何問題等等。不過,在真實世界中,這不一定是可行的或想要的。 布建第二組相同機器以進行生產前測試的成本可能非常禁止。 不過,請勿讓這些不一致讓您感到不瞭解, 幾乎任何生產前環境都比任何事前環境更好。

保護生產環境

TFS 資料庫包含數個設定,這些設定指向其部署環境中的各種資源。 例如,集合資料庫連接字串會儲存在組態資料庫中,如同排程備份功能所使用的網路共用一樣。 因此,生產前環境可能會造成生產環境中的問題,而且在建立生產前環境以採取步驟來避免此問題時,是最佳做法。

您可以採取的最重要步驟是在生產階段前環境中使用服務帳戶,而該帳戶沒有生產環境的任何許可權。 在理想情況下,它不應該在 TFS、SQL、網路共用等中具有任何許可權。此處的選項包括網路服務 (假設您的生產前計算機帳戶不需要生產) 或專用生產前網域帳戶的許可權,如下列範例所示。

生產前服務帳戶範例

另一個選擇性步驟是將專案新增至生產前計算機 () 的主機檔案,以將生產計算機名稱對應至無效的IP位址。 如果您不確定主機檔案是什麼,請參閱 這裡的 Wikipedia專案。 這可防止從生產階段前機器連至生產機器的輸出通訊。

AT 和 DT 的範例主機檔案重新導向

還原資料庫

如果您使用 排程備份精靈 從生產部署產生資料庫備份,您也可以使用它來還原生產階段前部署上的備份。 如果沒有,您當然也可以遵循標準 SQL 程式來還原備份。 要備份和還原的資料庫清單應該一律包含您的設定資料庫和所有集合資料庫。 如果您的生產階段前環境將包含報告功能,您也應該包含倉儲和報表伺服器資料庫。

執行升級

在應用層電腦上安裝新版本的 TFS。 在執行升級精靈之前,請執行 ChangeServerId 命令。 這可確保如果您同時從相同的用戶端存取生產環境和生產階段前環境,而且應該在複製集合或完整部署時執行,這可確保您不會遇到問題。

準備好之後,請使用將用來升級生產環境的相同步驟來升級生產階段前環境。 請務必記得使用在生產環境中沒有許可權的服務帳戶。

設定新功能

某些升級引進了新功能,這些新功能會採取其他步驟進行設定,因為它們牽涉到您現有項目的變更。 根據專案的詳細數據和您要升級的 TFS 版本而定,這可能會比較複雜或較不複雜。 如需詳細資料,請參閱這裡

試試看

讓生產階段前伺服器進行微調! 稍微點選一下,試試一些新功能...請注意,某些專案像是執行組建,將需要一些額外的設定。

如果您發現任何問題,請嘗試在這裡處理這些問題,以避免在生產環境中再次遇到問題。 當您滿意時,請一天呼叫它,並繼續進行生產升級。