前言
Azure DevOps Agent On Linux 與其他 CI/CD 一樣,安裝相當簡單,且可以安裝在 Windwos/macOS/Linux 作業系統上。有很多朋友問到 Linux Agent 與 Windows Agent 有什麼不同,這裡簡單條列一些特性,讓大家理解要哪一種比較適合自己
- Linux Agent 一般情況下,執行速度較快,且 Azure Linux VM 較便宜
- Windows Agent 一般來說較為安全 (對於資安完全沒經驗的朋友,使用 Windows 會輕鬆一點)
- 若您的程式是 .NET Solution (非.NET Core),只能在 Windows 作業系統進行 Build,請選擇 Windows
- Java ...等具跨平台特性 Solution,可以在 Linux 與 Windows Agent 執行
- 找一個您熟悉的平台,安裝套件時比較不會這麼辛苦
本篇文章將一步步說明如何安裝與設定,給有興趣的朋友參考。若有任何錯誤或建議,請各位前輩不吝提出,謝謝。
若您想要知道如何安裝 Agent 在 Windows 上,請參考這篇:
Azure DevOps Agent 安裝流程說明 (Install Windows Agent)
前置作業
在開始安裝 Linux Agent 之前,我們必須先申請一個 PAT (Personal Access Token),在 Agent 與 Azure DevOps 建立連結時認證使用。
Step 1. 開啟 Azure DevOps,點選右上圖示 > Personal Access token
Step 2. 點選 New Token
Step 3. 依序輸入名稱、逾期時間。 Scope 選擇 Custom defined:分別在 Agent pools 勾選 Read & manage、Auditing 勾選 Read Audit Log。完成後點選建立 (Create)
Step 4. 複製 Token (等等設定會用到)
操作流程
Step 1. 點選專案設定 (Project Configuration) > Agent Pool
Step 2. 點選 Default
Step 3. 點選 New Agent
Step 4. 登入到 Linux,請先確認目前目錄,不要設定在權限較高或 tmp 資料,避免 Agent 自動更新時權限不足,造成無法更新,最後導致這個 Agent 永遠不會啟動。
Azure DevOps 可以設定多個 Agent 且會自動更新,若有 Agent 版本不同,則只會使用版本較高的Agent
輸入下列指令,我們先前往最初的目錄
cd /
ls
Step 5. 接下來,我們建立一個 agent 資料夾
mkdir agent
Step 6. 切換目錄到 agent,並透過 wget 套件下載 Agent 套件
cd agent
sudo wget https://vstsagentpackage.azureedge.net/agent/2.175.2/vsts-agent-linux-x64-2.175.2.tar.gz
您可以在這個網站 https://github.com/Microsoft/azure-pipelines-agent/releases 確定版本號碼,本篇文章撰寫時 Agent 版本是 2.175.2,請依據目前最新的版本為主
若你的 linux 沒有 wget 套件,請先安裝,下列提供 Ubuntu 版本安裝指令
apt update && apt upgrade
apt install wget
Step 7. 我們進行解壓縮,輸入下列指令。解壓縮後如下圖所示,會有相關檔案。
sudo tar zxvf vsts-agent-linux-x64-2.175.2.tar.gz
Step 8. 我們先切回上層目錄,先給予 agent 合適的權限 (請依據需求調整),避免日後自動升級 Agent 時因為權限不夠而升級失敗。指令為
cd..
sudo chmod 777 agent/
Step 9. 切換回 agent 目錄,開始進行 Agent 設定,輸入下列指令
cd agent
./config.sh
Step 10. 依序輸入 Azure DevOps URL、使用 PAT 認證、輸入 Token、輸入 Agent 所屬的 Agent Pool、Agent 名稱...等相關資訊。
Step 11. 將 Agent 設定自動執行,輸入下列指令
sudo ./svc.sh install
之後輸入
sudo ./svc.sh start 啟動服務
Step 12. 回到我們 Azure DevOps,等待約 5分鐘,即可看見 Agent 已經啟動
0 留言