因為工作需求,需要安裝 Azure DevOps 代理程式在 MacOS 上,雖然官網上寫得相當簡單,但對於 MacOS 操作不熟還真是吃盡苦頭。剛好也遇到官方的 Issue,也一併紀錄短期解決方法。若您也有需求需要在 MacOS 上安裝代理程式,不妨可以參考這篇文章 





前置工作

1. macOS Sierra (10.12) 或更高版本

2. 安裝 Homebrew (用於安裝相關套件,選擇性安裝)

安裝指令:/bin/bash -c "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3. 安裝 Git (2.9.0 版或更高版本)

安裝指令:brew install git

4. 版控使用TFVC 需要 Oracle JAVA JDK 1.6 或更高版本

5. MacOS App 來源設定可能需要解鎖,否則設定過程中需要多此允許應用程式。設定方式如下:

系統偏好設定 > 安全性與隱私權 > 一般,有時候允許從以下來源下載的APP: 任何來源會被隱藏。

 



若要將任何來源顯示出來,可以透過指令 sudo spctl --master-disable,輸入管理者密碼即可。

 





安裝步驟

Step 1. 前往GitHub(microsoft/azure-pipelines-agent) 的Release下載最新版本的MacOS Agent






Step 2. 下載完成後,開啟終端機,依序輸入下列指令

mkdir myagent && cd myagent

tar zxvf ~/Download/<下載檔案名稱>



上面的指令分別為建立資料夾、切換目錄與解壓縮,下載檔案名稱可以輸入vsts後,使用tab建自動完成

 




Step 3. 撰寫此份文件時,2.200版本 MacOS Agent 若使用negotiate驗證方式會有問題,需要設定環境變數:

export AZP_AGENT_USE_LEGACY_HTTP=true

MacOS 不支援整合驗證;ALT驗證不能使用;若您使用 PAT 驗證,可以跳過此步驟。

 





Step 4. 輸入 ./config進行設定,依據實際情況設定,可以參考下圖

1. 使用TFVC 需要同意條約

2. Azure DevOps Service/Server/TFS 伺服器位置

3. 認證方式 (本範例使用Negotiate,雲端版本可以使用PAT方式)

4. 使用者帳號密碼

5. 代理程式集區

6. 代理城市名稱

7. 資料夾 (使用預設)

 





步驟 5. 安裝完成後,記得以服務方式啟動,以後重新啟動電腦就不需要手動啟動。輸入指令 ./svc.sh install 註冊服務,然後輸入 ./svc.sh start啟動服務

 





步驟 6. 完成代理程式安裝