The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

安裝 Azure DevOps Server 2019 Update 1.1 的注意事項與技術筆記

我們公司最近一年已經幫多家公司導入 Azure DevOps Server 2019,幫助客戶了解 DevOps 與推動 CI/CD 自動化建置與部署流程。由於每位客戶的 IT 環境都有些不太一樣的地方,工程師所寫的安裝手冊也都只符合特定客戶環境。最近因為又替客戶安裝了一套 Azure DevOps Server 2019 Update 1.1 最新版,但是因為客戶端的 IT 環境限制頗多,安裝過程也異常艱辛,所以特別花了些時間整理安裝的各種注意事項,也在自己的 Lab 環境中安裝多次,整理出這篇文章。

初始化系統設定

以系統管理員身分開啟 Windows PowerShell 視窗 (powershell.exe) 並執行以下命令:

# 設定時區為台北標準時間 (Taipei Standard Time)
Set-TimeZone -Name "Taipei Standard Time"

# 關閉 Internet Explorer 增強安全性設定 (Enhanced Security Configuration)
$AdminIEOff = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
Set-ItemProperty -Path $AdminIEOff -Name "IsInstalled" -Value 0
Stop-Process -Name Explorer

# 關閉開機自動啟動伺服器管理員 (Server Manager)
Get-ScheduledTask -TaskName ServerManager | Disable-ScheduledTask -Verbose

# 變更系統語言設定並設定 zh-TW 為顯示語言
$UserLanguageList = New-WinUserLanguageList -Language "en-US"
$UserLanguageList.Add("zh-TW")
Set-WinUserLanguageList -LanguageList $UserLanguageList -Force
Set-WinUILanguageOverride -Language zh-TW

# 更改主機名稱並重開機 (假設要更名為 WILL-DevOps-1)
Rename-Computer -NewName WILL-DevOps-1 -LocalCredential Administrator -PassThru

# 重開機套用變更
Restart-Computer

如果電腦要加入 AD 網域,請在這個時間點加入網域。

安裝 Chocolatey 套件管理器與必要套件

以系統管理員身分開啟 Windows PowerShell 視窗 (powershell.exe) 並執行以下命令:

  • 安裝 Chocolatey 套件管理器

    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    
  • 安裝 7-Zip 套件

    choco install 7zip -y
    
  • 安裝其他好用工具套件 (非必要安裝)

    choco install git openssh unxutils wget curl notepad2 -y
    

安裝 Oracle Server JRE Update 60 以上版本

因為 Azure DevOps Server 2019 有包含 Code Search 功能,必須用到 Oracle Server JRE 8 (Update 60 or higher) 版本,而且安裝完後還要設定 JAVA_HOME 系統環境變數才能正常運作,請依據以下步驟進行安裝設定即可。

如果你打算將 Azure DevOps Server 2019 與 SQL Server 分別安裝在不同主機,Server JRE 只需要安裝在 Azure DevOps Server 2019 這台即可。

  • 下載 Server JRE (Java SE Runtime Environment) 8

    由於 Oracle 官網下載的 JRE 只有 *.tar.gz 壓縮檔,並沒有自動安裝的執行檔,所以需要手動設定 JRE 環境。

    Installing the server JRE on Windows :: Lucee Documentation

    撰文當下的下載檔案為 server-jre-8u241-windows-x64.tar.gz,壓縮檔案有個 jdk1.8.0_241 資料夾目錄。

  • 建立 C:\Program Files\Oracle Java Server 資料夾

  • 使用 7-zip 將壓縮檔中的 jdk1.8.0_241 目錄 (包含資料夾),複製到 C:\Program Files\Oracle Java Server 目錄下。

  • 設定 JAVA_HOME 系統環境變數到 C:\Program Files\Oracle Java Server\jdk1.8.0_241

    請以系統管理員身分開啟命令提示字元視窗 (cmd.exe),並執行以下命令:

    SETX JAVA_HOME "C:\Program Files\Oracle Java Server\jdk1.8.0_241" /M
    

安裝 SQL Server 資料庫伺服器

請查閱 Azure DevOps Server 2019 Update 1.1 支援的 SQL Server 版本,至少需要 SQL Server 2016 with Service Pack 1 以上版本。

必須安裝的 SQL Server 元件

  1. Database Engine
  2. Full-Text and Semantic Extractions for Search features

選用安裝的 SQL Server 元件 (建議安裝)

  1. SQL Server Analysis Services
  2. SQL Server Reporting Services

注意事項:

  • 請參閱 Manually install SQL Server 來進行完整安裝。
  • 唯有超過 500 位使用者,你才需要特別將 SQL Server 安裝在另一台獨立的主機上,否則單機安裝就非常夠用!
  • 由於 Azure DevOps Server 2019 僅支援 Windows 驗證,若要安裝在多台伺服器,你可以有兩種選擇:
    • 將電腦加入 AD 網域並使用「網域帳號」作為服務帳戶
    • 使用「網路服務」(Network Service) 作為服務帳戶

開始安裝 SQL Server 資料庫伺服器

  1. 執行 setup.exe 安裝

    image

  2. (特徵選取) 選取以下四個功能

    1. Database Engine 服務
    2. 搜尋的全文檢索和語意擷取
    3. Analysis Services
    4. Reporting Services - 原生

    image

  3. (執行個體組態) 選擇 預設執行個體 (MSSQLSERVER) 或 具名執行個體

  4. (伺服器組態) 將帳戶名稱全部修改為 NT AUTHORITY\NETWORK SERVICE啟動類型全部設為自動

  5. (伺服器組態) 切換至定序頁籤設定並確保 Database EngineAnalysis Services 使用相同定序 Chinese_Taiwan_Stroke_CI_AS

    選取 Windows 定序指示項和排序次序,並於 定序指示項 選取 Chinese_Taiwan_Stroke,並勾選 區分重音字 核取項目。

  6. (資料庫引擎組態) 選擇 Windows 驗證模式 並點擊 加入目前使用者 按鈕。

    如果主機有加入 AD 網域,也請加入一位 AD 網域使用者,該使用者必須為之後設定 Azure DevOps Server 2019 的網域使用者。

  7. (Analysis Services 組態) 點擊 加入目前使用者 按鈕。

    如果主機有加入 AD 網域,也請加入一位 AD 網域使用者,該使用者必須為之後設定 Azure DevOps Server 2019 的網域使用者。

  8. (Reporting Services 組態) 選取 安裝與設定 選項。

設定 Reporting Services 組態管理員

如果前一步驟的 (Reporting Services 組態) 選取 安裝與設定 選項,應該什麼都不用設定才對!

  1. 開啟 Reporting Services 組態管理員

  2. 點擊 Web 服務 URL 頁籤,並直接按下 套用 按鈕。

  3. 點擊 資料庫 頁籤,並直接按下 套用 按鈕。

安裝 SQL Server Management Studio (SSMS)

下載 SQL Server Management Studio (SSMS) 並安裝。

重新啟動電腦!

你可以先建立一個空白資料庫,然後在 Azure DevOps Server 2019 的安裝過程中選取該資料庫。資料庫名稱規則:AzureDevOpsServer_DatabaseLabelConfiguration

安裝 Azure DevOps Server 2019

直接到 Download Visual Studio 2019 for Windows & Mac 網頁,捲動到最下方即可看見 Azure DevOps Server 2019 Update 1.1 的下載選項。然後參考 Install on a single server 進行安裝。基本上,只要 SQL Server 安裝順利,Azure DevOps Server 2019 就可以很順利的透過預設值設定,一路順利的安裝到最後!

Azure DevOps Server 2019 你在安裝好之後,使用者可以自行選擇顯示語言,但是中文版有些地方的翻譯不太到位,有些專有名詞甚至會讓人完全無法聯想到英文原文。與其這樣,建議你在首次安裝設定的過程中選擇 English 語言,你至少比較容易理解某些重要名詞,而且出問題時也比較容易 Google 到相關資源。

安裝於兩台電腦的注意事項

如果要將 Azure DevOps Server 2019 (Application-tier) 與 SQL Server (Data-tier) 安裝在不同主機,必須符合以下需求:

  • 必須有個 AD 網域,並將兩台電腦都加入網域。

    • 假設 AP 電腦名稱為:AP1 (Azure DevOps Server 2019)
    • 假設 DB 電腦名稱為:DB1 (SQL Server 2016 SP1+)
  • 需準備一個負責安裝 Azure DevOps Server 2019 的 AD 網域使用者

    • 假設 AD 網域使用者名稱為:MyAD\will
    • 請將該使用者加入到 AP1 主機的本機管理者群組 (Administrators)
    • 建議不要使用 Domain Admins (網域管理者群組) 下的帳戶
  • 需準備一個負責執行 搜尋服務 的本機帳號

    • 假設本機帳號名稱為 devopsmaster (帳號密碼的長度都必須介於 8 ~ 64 的字元之間)
  • 請使用 AD 網域使用者身分登入 AP1 主機並開始安裝 Azure DevOps Server 2019 (不能用本機帳號登入)

    • 如果先前已經安裝過,但是安裝失敗,可能會導致安裝過程不順利。

    • 例如 elasticsearch-service-x64 服務就必須先移除才能進行安裝。

      sc stop elasticsearch-service-x64
      sc delete elasticsearch-service-x64
      
  • Azure DevOps Server 2019 在設定的過程中,有個 報告讀取器帳戶(Report Reader Account) 步驟,其帳號不能設定為「本機帳戶」,否則將無法通過整備檢查(Readiness Checks)!

SQL Server 資料庫伺服器主機必須開啟以下防火牆規則:

Azure DevOps Server 2019 主機必須開啟以下防火牆規則:

  • 啟用 全球資訊網服務 (HTTP 輸入流量) 防火牆規則 (即 TCP 80 Port)
  • 啟用 全球資訊網服務 (HTTPS 輸入流量) 防火牆規則 (即 TCP 443 Port)
  • 新增 SSH 的 TCP 22 Port

相關連結

留言評論