在macOS蘋果電腦上安裝Azure DevOps Server(TFS)代理


1. 概述

MacOS是一套運行於蘋果Macintosh系列電腦上的操作系統,是首個在商用領域成功的圖形用戶界面操作系統。Iphone應用軟件的開發人員,都使用運行macOS的電腦或mini盒子進行軟件開發和調試,其中XCode則是開發人員主要使用集成開發工具(IDE)。
作為一款軟件協作開發管理平台產品,Azure DevOps Server完全支持基於macOS實現軟件研發的持續集成和發布(CI和CD),可以使用Azure DevOps Server上的流水線(Pipleline)功能,實現XCode項目的自動編譯、測試和打包發布功能。由於Xcode項目的特殊性,代碼編譯過程必須在運行macOS的計算機上進行,因此,部署一台基於macOS的代理服務器,是在Azure DevOps Server上實現XCode項目的持續集成和發布的基礎准備。本文以Mac mini為例,介紹如何在macOS上安裝和測試Azure DevOps Server的代理。
如果你對Azure DevOps Server的代理還不太了解,建議先參考微軟的官方文檔(https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?WT.mc_id=DT-MVP-5001330)

2. 必要條件

在macOS上部署代理之前,首先要確保你的macOS符合一下幾個條件:
1)macOS的版本在10.12或以上
2)Git版本在2.9.0或以上
3)代理程序的版本在2.125或以上
如果你使用TFVC(TFS系統中使用的集中式代碼庫),你還必須安裝Oracle Java JDK 1.6或以上版本。切記,JRE和OpenJDK是不夠的,必須Oracle JDK。

3. 權限和賬戶

在部署之前,你必須擁有一個具備創建代理權限的賬戶。
如果對配置代理和代理池的權限不太熟悉,你可以簡單使用集合管理員賬戶或者服務器管理員賬戶,這個級別的管理員賬戶,默認具備系統的所有權限。由於這是一次性的配置工作,在完成配置后,系統不會保存和使用配置過程中使用的賬戶,你無需擔心后續修改了賬戶密碼,會影響代理的正常運行。

4. 配置和安裝代理

  1. 在macOS上,使用瀏覽器打開Azure DevOps Server,進入到代理配置頁面,選擇下載代理
    image
    2)選擇macOS類型的代理,並點擊下載按鈕,從互聯網中下載到最新版本的代理程序
    如果需要在無互聯網的環境中安裝macOS代理(例如筆者的這次安裝,就是在國內某銀行科技部內網實施的),你可以添加將這個代理,從github 或者https://vstsagentpackage.azureedge.net/agent/2.153.1/vsts-agent-osx-x64-2.153.1.tar.gz,提前下載,復制到內網中。
    image
    3)將下載的安裝包解壓縮到指定目錄
    由於可以在同一台macOS中安裝多個代理,實現多條流水線並發執行,我們通常創建類型~/devAgents/agent1這樣的文件夾,將安裝包文件解壓縮在agent1目錄中
    4)執行config.sh目錄,完成安裝配置工作
./config.sh

配置過程比較簡單,按照提示輸入必要的項目就可以。需要注意一下幾點:

  • 服務器URL:一般是Azure DevOps的對外發布地址,例如http://dev.mycomany.com/,或者http://dev.mycompany.com:8080/tfs/
  • 認證方式:
    • 基本認證方式:需要在IIS配置好基本認證方式
    • 集成認證:一般是使用域賬戶認證,不適用macOS;如果使用windows操作系統,必須確保配置代理的操作賬戶是域賬戶
    • Negotiate :默認的認證方式,一般是NTLM和Kerberos兩種認證方式;目前幾乎所有Azure DevOps Server都使用NTLM認證,其中AD域賬戶又根據普遍,賬戶的輸入方式如下domain/username
    • PAT:是指令牌認證,需要提前在Azure DevOps Server中創建令牌,粘貼到這里
      5)運行代理程序
      有兩種運行代理程序的模式:交互式和服務運行
  • 交互式運行:是指可以在使用賬戶登錄macOS后,執行下面的指令,運行代理程序
./run.sh
  • 服務運行:是指將代理程序安裝成macOS的服務,在系統啟動后,代理程序會自動運行,無需用戶登錄或干預
    下面是安裝服務器的指令:
./svc.sh install
./svc.sh start
./svc.sh stop

當代理程序正常運行后,你可以使用瀏覽器在Azure DevOps Server中看到正在運行的代理程序,並在流水線中使用它實現持續集成和發布。

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 張洪君

------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM