我們公司最近一年已經幫多家公司導入 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
) 並執行以下命令:
安裝 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 元件
- Database Engine
- Full-Text and Semantic Extractions for Search features
選用安裝的 SQL Server 元件 (建議安裝)
- SQL Server Analysis Services
- SQL Server Reporting Services
注意事項:
- 請參閱 Manually install SQL Server 來進行完整安裝。
- 唯有超過
500
位使用者,你才需要特別將 SQL Server 安裝在另一台獨立的主機上,否則單機安裝就非常夠用!
- 由於 Azure DevOps Server 2019 僅支援 Windows 驗證,若要安裝在多台伺服器,你可以有兩種選擇:
- 將電腦加入 AD 網域並使用「網域帳號」作為服務帳戶
- 使用「網路服務」(Network Service) 作為服務帳戶
開始安裝 SQL Server 資料庫伺服器
-
執行 setup.exe
安裝
-
(特徵選取) 選取以下四個功能
- Database Engine 服務
- 搜尋的全文檢索和語意擷取
- Analysis Services
- Reporting Services - 原生
-
(執行個體組態) 選擇 預設執行個體 (MSSQLSERVER
) 或 具名執行個體
-
(伺服器組態) 將帳戶名稱全部修改為 NT AUTHORITY\NETWORK SERVICE
,啟動類型全部設為自動
。
-
(伺服器組態) 切換至定序頁籤設定並確保 Database Engine 與 Analysis Services 使用相同定序 Chinese_Taiwan_Stroke_CI_AS
。
選取 Windows 定序指示項和排序次序,並於 定序指示項 選取 Chinese_Taiwan_Stroke
,並勾選 區分重音字
核取項目。
-
(資料庫引擎組態) 選擇 Windows 驗證模式 並點擊 加入目前使用者 按鈕。
如果主機有加入 AD 網域,也請加入一位 AD 網域使用者,該使用者必須為之後設定 Azure DevOps Server 2019 的網域使用者。
-
(Analysis Services 組態) 點擊 加入目前使用者 按鈕。
如果主機有加入 AD 網域,也請加入一位 AD 網域使用者,該使用者必須為之後設定 Azure DevOps Server 2019 的網域使用者。
-
(Reporting Services 組態) 選取 安裝與設定 選項。
設定 Reporting Services 組態管理員
如果前一步驟的 (Reporting Services 組態) 選取 安裝與設定 選項,應該什麼都不用設定才對!
-
開啟 Reporting Services 組態管理員
-
點擊 Web 服務 URL 頁籤,並直接按下 套用 按鈕。
-
點擊 資料庫 頁籤,並直接按下 套用 按鈕。
安裝 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
相關連結