Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
本文提供使用 3.x 代理程式軟體 搭配 Azure DevOps Services 和最新版 Azure DevOps Server 的指引。 如需支援 3.x 代理程式的 Azure DevOps Server 版本清單,請參閱 Azure DevOps Server 是否支援 3.x 代理程式。
若要建置及部署 Xcode 應用程式,您需要至少一個 macOS 代理程式。 此代理程式也可以建置及部署 Java 和 Android 應用程式。
備註
本文說明如何設定 自我載入代理程式。 如果您正在使用 Azure DevOps Services,並且 Microsoft 託管代理滿足您的需求,您可以跳過設定自我託管的 macOS 代理。
瞭解代理人
如果您已經知道什麼是代理及其運作方式,可以直接閱讀下列各節。 但是,如果您想要更多有關其職責內容及運作方式的背景資訊,請參閱 Azure Pipelines 代理程式。
檢查必要條件
- 支援的作業系統
- x64
- macOS 10.15 “Catalina”
- macOS 11.0 “Big Sur”
- macOS 12.0 “Monterey”
- macOS 13.0 “Ventura”
- macOS 14.0 “Sonoma”
- macOS 15.0 “Sequoia”
- ARM64
- macOS 11.0 “Big Sur”
- macOS 12.0 “Monterey”
- macOS 13.0 “Ventura”
- macOS 14.0 “Sonoma”
- macOS 15.0 “Sequoia”
- x64
- Git - Git 2.9.0 或更高版本 (建議使用最新版本 - 您可以使用 Homebrew輕鬆安裝 )
- .NET - 代理程式軟體會在 .NET 6 上執行,但會安裝自己的 .NET 版本,因此沒有 .NET 必要條件。
- TFVC - 如果您要從 TFVC 存放庫建置,請參閱 TFVC 必要條件。
Prepare permissions
如果您要從 Subversion 存放庫建置,則必須在電腦上安裝 Subversion 用戶端。
您應該在第一次手動執行代理程式設定。 在您瞭解代理程式的運作方式,或想要自動設定許多代理程式之後,請考慮使用 無人值守設定。
Information security for self-hosted agents
設定代理程式的使用者需要集區管理員許可權,但執行代理程式的使用者則不需要。
代理程式所控制的資料夾應限制為盡可能少的使用者,因為它們包含可以解密或外洩的秘密。
Azure Pipelines 代理程式是一種軟體產品,其設計目的是執行從外部來源下載的程序代碼。 它本質上可能是遠端程式代碼執行 (RCE) 攻擊的目標。
Therefore, it is important to consider the threat model surrounding each individual usage of Pipelines Agents to perform work, and decide what are the minimum permissions that could be granted to the user running the agent, to the machine where the agent runs, to the users who have write access to the Pipeline definition, the git repos where the yaml is stored, or the group of users who control access to the pool for new pipelines.
最佳做法是讓執行代理程式的身分識別與具有將代理程式連線到集區之許可權的身分識別不同。 產生認證的使用者(和其他代理程式相關檔案)與需要讀取認證的使用者不同。 Therefore, it is safer to carefully consider access granted to the agent machine itself, and the agent folders which contain sensitive files, such as logs and artifacts.
It makes sense to grant access to the agent folder only for DevOps administrators and the user identity running the agent process. 系統管理員可能需要調查文件系統,以瞭解建置失敗,或取得記錄檔,才能回報 Azure DevOps 失敗。
選擇您要使用的帳戶
As a one-time step, you must register the agent. 有權 管理代理程式佇列 的人員必須完成這些步驟。 代理人不會在日常運作中使用此人的認證,但需要完成註冊。 Learn more about how agents communicate.
確認使用者具有許可權
請確定您將使用的用戶帳戶具有註冊代理程序的許可權。
使用者是 Azure DevOps 組織擁有者或 TFS 或 Azure DevOps Server 系統管理員嗎? 停在這裡,你有許可。
否則:
Open a browser and navigate to the Agent pools tab for your Azure Pipelines organization or Azure DevOps Server or TFS server:
登入您的組織(
https://dev.azure.com/{yourorganization}
)。選擇 Azure DevOps,[組織設定]。
Choose Agent pools.
登入您的專案集合 (
http://your-server/DefaultCollection
)。選擇Azure DevOps,集合設定。
Choose Agent pools.
選擇頁面右側的池子,然後點擊安全性。
如果未顯示您要使用的用戶帳戶,請聯繫系統管理員以新增它。 系統管理員可以是代理程式集區系統管理員、Azure DevOps 組織擁有者,或 TFS 或 Azure DevOps Server 系統管理員。
如果是 部署群組 代理程式,系統管理員可以是部署群組管理員、Azure DevOps 組織擁有者,或 TFS 或 Azure DevOps Server 系統管理員。
您可以在 Azure Pipelines的 [部署群組] 頁面的 [安全性] 標籤中,將使用者新增為部署群組的管理員角色。
註記
如果您看到如下的訊息:很抱歉,我們無法新增身分識別。請嘗試不同的身分識別。,您可能已針對組織擁有者或 TFS 或 Azure DevOps Server 系統管理員遵循上述步驟。 您不需要執行任何動作;您已有管理代理程式集區的許可權。
下載並設定代理程式
Azure Pipelines
使用您已備妥許可權的帳戶登入計算機,如上一節所述。
In your web browser, sign in to Azure Pipelines, and navigate to the Agent pools tab:
登入您的組織(
https://dev.azure.com/{yourorganization}
)。選擇 Azure DevOps,[組織設定]。
Choose Agent pools.
登入您的專案集合 (
http://your-server/DefaultCollection
)。請選擇 Azure DevOps 及 集合設定。
Choose Agent pools.
Select the Default pool, select the Agents tab, and choose New agent.
On the Get the agent dialog box, click macOS.
Click the Download button.
遵循頁面上的指示。
清除 tar 檔案上的擴充屬性:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
。將代理程式解壓縮到您選擇的目錄中。
cd
至該目錄,然後執行./config.sh
。 請確保目錄路徑中不包含空格,因為工具和腳本不一定能正確處理空格。
伺服器網址
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server:https://{your_server}/tfs
驗證類型
當您註冊代理程式時,請選擇下列驗證類型,而代理程式設定會提示您輸入每個驗證類型所需的特定其他資訊。 如需詳細資訊,請參閱 自我托管代理驗證選項。
以互動方式執行
如需有關在互動模式或服務模式上執行代理程序的指引,請參閱 代理程式:互動模式 vs. 服務模式。
若要以互動方式執行代理程式:
如果您已以服務身分執行代理程式,卸載服務。
執行代理程式。
./run.sh
若要重新啟動代理程式,請按 Ctrl+C,然後執行 run.sh
以重新啟動它。
若要使用代理程式,請使用代理程式的資源池來執行 作業。 如果您沒有選擇其他的池子,您的代理將會被放置在預設池子中。
一次執行
針對設定為以互動方式執行的代理程式,您可以選擇讓代理程式只接受一項作業。 若要在此組態中執行:
./run.sh --once
Agents in this mode accept only one job and then spin down gracefully (useful for running on a service like Azure Container Instances).
以啟動守護程序服務方式運行
我們提供 ./svc.sh
腳本,讓您以 launchd
LaunchAgent 服務的形式執行和管理代理程式。 此文稿會在您設定代理程序之後產生。 服務可以存取 UI 來執行 UI 測試。
注意事項
如果您偏好其他方法,您可以使用任何偏好的服務機制。 參見Service files。
令牌
在下一節中,會取代這些令牌:
{agent-name}
{tfs-name}
例如,您已配置了一個名叫 our-osx-agent
的代理程式(如上一個範例所示)。 在下列範例中,{tfs-name}
可以是:
Azure Pipelines:您組織的名稱。 例如,如果您連線到
https://dev.azure.com/fabrikam
,則服務名稱會vsts.agent.fabrikam.our-osx-agent
TFS:內部部署 TFS AT 伺服器的名稱。 例如,如果您連線到
http://our-server:8080/tfs
,則服務名稱會vsts.agent.our-server.our-osx-agent
指令
Change to the agent directory
例如,如果您安裝在您的主目錄的myagent
子資料夾中:
cd ~/myagent$
安裝
命令:
./svc.sh install
此命令會建立一個指向./runsvc.sh
的launchd
plist。 此腳本會設定環境(下一節中的詳細數據),並啟動代理程式的主機。
開始
命令:
./svc.sh start
輸出:
starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
The left number is the pid if the service is running. 如果第二個數位不是零,則發生問題。
地位
命令:
./svc.sh status
輸出:
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
The left number is the pid if the service is running. 如果第二個數位不是零,則發生問題。
停止
命令:
./svc.sh stop
輸出:
stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Stopped
卸載
卸載之前,您應該先停止。
命令:
./svc.sh uninstall
自動登入和鎖定
一般而言,代理程式服務只會在使用者登入之後執行。 如果您希望代理程式服務在機器重新啟動時自動啟動,您可以將電腦設定為在啟動時自動登入和鎖定。 請參閱 將 Mac 設定為啟動期間自動登入 - Apple 支援服務。
Note
如需詳細資訊,請參閱部落格文章 Terminally Geeky,了解如何更安全地使用自動登入。 該部落格中提及的 .plist 檔案可能無法再於來源取得,但您可以在這裡找到一份複本:Lifehacker - 在登入之前,讓 OS X 載入您的桌面。
更新環境變數
當您設定服務時,它會為目前的登入使用者擷取一些實用的環境變數快照,例如PATH、LANG、JAVA_HOME、ANT_HOME和MYSQL_PATH。 如果您需要更新變數(例如,安裝一些新軟體之後):
./env.sh
./svc.sh stop
./svc.sh start
環境變數的快照集會儲存在代理程式根目錄下的 .env
檔案中,您也可以直接變更該檔案以套用環境變數變更。
在服務啟動之前執行指示
您也可以執行自己的指示和命令,以在服務啟動時執行。 例如,您可以設定環境或呼叫腳本。
編輯
runsvc.sh
.使用您的指示取代下列這一行:
# insert anything to setup env when running as a service
Service Files
當您安裝此服務時,會有一些服務文件被設置到位。
.plist 服務檔案
已建立 .plist 服務檔案:
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
例如:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
./svc.sh install
從此範本產生此檔案:./bin/vsts.agent.plist.template
.service file
./svc.sh start
讀取 .service
檔案來尋找服務,其中包含上述 plist 服務檔案的路徑。
替代服務機制
我們提供 ./svc.sh
腳本,讓您以 launchd
LaunchAgent 服務的方式執行和管理代理程式。 但是,您可以使用任何偏好的服務機制。
您可以使用上述範本來協助產生其他類型的服務檔案。 例如,如果您不需要UI測試,而且不想設定自動登入和鎖定,您可以修改範本來產生以啟動精靈的形式執行的服務。 請參閱 Apple 開發人員連結庫:建立啟動精靈和代理程式。
取代代理人
若要取代代理程式,請遵循 下載並再次設定代理程式 步驟。
當您使用與已經存在之代理程式相同的名稱來設定代理程式時,系統會詢問您是否要取代現有的代理程式。 如果您回答 Y
,請確定您移除要取代的代理程式(如下所示)。 否則,經過幾分鐘的衝突後,其中一個代理將會關閉。
拿掉並重新設定代理程式
若要移除代理程式:
停止並卸載服務,如上一節所述。
拿掉代理程式。
./config.sh remove
輸入您的認證。
Unattended config
您可以從腳本設定代理程式,而不需要人為介入。
你必須通過--unattended
和所有問題的答案。
若要設定代理程式,必須知道您的組織或集合的 URL,及具備授權設定代理程式的人的認證。
所有其他回應都是選擇性的。
您可以使用環境變數來指定任何命令列參數:將其名稱放在大寫中,並在前面加上 VSTS_AGENT_INPUT_
。
例如,VSTS_AGENT_INPUT_PASSWORD
,而不是指定 --password
。
必要選項
-
--unattended
- 代理程式設定不會提示資訊,而且必須在命令行上提供所有設定 -
--url <url>
- 伺服器的 URL。 例如:https://dev.azure.com/myorganization 或 http://my-azure-devops-server:8080/tfs -
--auth <type>
- 驗證類型。 有效值為:-
pat
(個人存取令牌) - PAT 是與 Azure DevOps Services 搭配運作的唯一配置。 -
alt
(基本身份驗證)
-
驗證選項
- 如果您選擇
--auth pat
:-
--token <token>
- 指定您的個人存取令牌 - PAT 是與 Azure DevOps Services 搭配運作的唯一配置。
-
- 如果您選擇
--auth negotiate
或--auth alt
:-
--userName <userName>
- 指定使用者名稱 -
--password <password>
- 指定密碼
-
資源池和代理名稱
-
--pool <pool>
- 代理程式加入的資源池名稱 -
--agent <agent>
- 代理名稱 -
--replace
- replace the agent in a pool. 如果有另一個同名的代理在監聽,它將因為衝突而開始失敗。
代理程式設定
-
--work <workDirectory>
- 工作目錄,其中儲存作業數據。 Defaults to_work
under the root of the agent directory. 工作目錄是由指定的代理程式所擁有,不應在多個代理程式之間共用。 -
--acceptTeeEula
- 接受 Team Explorer Everywhere 最終使用者授權協議(僅限 macOS 和 Linux) -
--disableloguploads
- 不要將主控台記錄輸出串流或傳送至伺服器。 相反地,您可以在作業完成之後,從代理程式主機的文件系統擷取它們。
僅供部署群組使用
-
--deploymentGroup
- 將代理程式設定為部署群組代理程式 -
--deploymentGroupName <name>
- 與--deploymentGroup
搭配使用,以指定要加入之代理程式的部署群組 -
--projectName <name>
- 與--deploymentGroup
搭配使用來設定項目名稱 -
--addDeploymentGroupTags
- 與--deploymentGroup
搭配使用,以指出應該新增部署群組標籤 -
--deploymentGroupTags <tags>
- 與--addDeploymentGroupTags
搭配使用,以指定部署群組代理程式的逗號分隔卷標清單 , 例如 “web, db”
僅限於環境
-
--addvirtualmachineresourcetags
- 用來指出應該新增環境資源標籤 -
--virtualmachineresourcetags <tags>
- 與--addvirtualmachineresourcetags
搭配使用,以指定環境資源代理程式的逗號分隔卷標清單 , 例如 “web, db”
./config.sh --help
一律會列出最新的必要和選擇性回應。
診斷
如果您在使用自行裝載的代理程式時遇到問題,您可以嘗試執行診斷。 設定代理程式之後:
./run.sh --diagnostics
這會透過診斷套件執行,以協助您針對問題進行疑難解答。 診斷功能可從代理程式 2.165.0 版開始使用。
Network diagnostics for self-hosted agents
將 Agent.Diagnostic
的值設定為 true
,以收集額外的記錄,這些記錄可用於排除自我托管代理的網路問題。 如需更多資訊,請參閱自託管代理的網路診斷。
Help on other options
若要瞭解其他選項:
./config.sh --help
The help provides information on authentication alternatives and unattended configuration.
能力
您的代理的能力會在資源池中歸檔並公告,以使只分配它能處理的構建和發布。 請參閱
在許多情況下,部署代理程序之後,您必須安裝軟體或公用程式。 一般而言,您應該在代理程式上安裝任何您在開發計算機上所使用的軟體和工具。
例如,如果您的組建包含 npm 工作,則除非集區中已安裝 npm 的組建代理程式,否則不會執行組建。
重要
功能包括所有環境變數,以及代理程式執行時所設定的值。 如果代理程式執行時有任何一個值變更,則必須重新啟動代理程式以挑選新的值。 在代理上安裝新軟體後,你必須重新啟動代理,才能讓新的功能顯示在資源池中,以便建置能正常運行。
如果您想要將環境變數排除在功能之外,可以透過設定環境變數 VSO_AGENT_IGNORE
,並提供以逗號分隔的要忽略變數清單來達成。
常見問題
如何確定我有最新的代理程式版本?
Navigate to the Agent pools tab:
登入您的組織(
https://dev.azure.com/{yourorganization}
)。選擇 Azure DevOps,[組織設定]。
Choose Agent pools.
登入您的專案集合 (
http://your-server/DefaultCollection
)。選擇 Azure DevOps,集合設定。
Choose Agent pools.
Click the pool that contains the agent.
請確定代理程式已啟用。
瀏覽至 [功能] 頁籤:
從 [代理集區] 索引標籤中,選取所需的代理集區。
選取 代理人 並選擇所需的代理人。
Choose the Capabilities tab.
注意
Microsoft裝載的代理程式不會顯示系統功能。 如需Microsoft裝載代理程式上安裝的軟體清單,請參閱 使用Microsoft裝載的代理程式。
From the Agent pools tab, select the desired pool.
選取 代理人 並選擇所需的代理人。
Choose the Capabilities tab.
尋找
Agent.Version
功能。 您可以針對最新的已發佈代理程式版本檢查此值。 請查看 Azure Pipelines Agent,並檢查頁面上列出的最高版本號。當每個代理程式執行需要較新版本代理程式的工作時,就會自動更新它本身。 如果您要手動更新某些代理程式,請以滑鼠右鍵按下集區,然後選取[更新所有代理程式。
我可以更新屬於 Azure DevOps Server 集區一部分的代理程式嗎?
是的。 從 Azure DevOps Server 2019 開始,您可以設定伺服器來尋找本機磁碟上的代理程式套件檔案。 此設定將覆蓋發布時隨伺服器提供的預設版本。 當伺服器無法存取因特網時,也會套用此案例。
使用可連接到網際網路的電腦,從 Azure Pipelines Agent GitHub Releases頁面下載最新版本的代理程式套件檔案(.zip 或 .tar.gz 格式)。
使用您選擇的方法,將下載的套件檔案傳輸至每個 Azure DevOps Server 應用層(例如 USB 磁碟驅動器、網路傳輸等等)。 將代理程式檔案放在下列資料夾下:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
如果不存在,請建立 Agents 資料夾。
- 您已準備就緒! 您的 Azure DevOps Server 現在會在更新代理程式時使用本機檔案。 當每個代理程式執行需要較新版本代理程式的工作時,就會自動更新它本身。 但是,如果您希望手動更新某些代理程式,請以滑鼠右鍵點按集區,然後選擇選項 更新所有代理程式。
如何確定我有最新的代理程式版本?
Navigate to the Agent pools tab:
登入您的組織(
https://dev.azure.com/{yourorganization}
)。選擇 Azure DevOps,[組織設定]。
Choose Agent pools.
登入您的專案集合 (
http://your-server/DefaultCollection
)。選擇 Azure DevOps,集合設定。
Choose Agent pools.
Click the pool that contains the agent.
請確定代理程式已啟用。
瀏覽至 [功能] 頁籤:
從 [代理集區] 索引標籤中,選取所需的代理集區。
選取 代理人 並選擇所需的代理人。
Choose the Capabilities tab.
注意
Microsoft裝載的代理程式不會顯示系統功能。 如需Microsoft裝載代理程式上安裝的軟體清單,請參閱 使用Microsoft裝載的代理程式。
From the Agent pools tab, select the desired pool.
選取 代理人 並選擇所需的代理人。
Choose the Capabilities tab.
Look for the
Agent.Version
capability. 您可以針對最新的已發佈代理程式版本檢查此值。 請查看 Azure Pipelines Agent,並檢查頁面上列出的最高版本號。當每個代理程式執行需要較新版本代理程式的工作時,就會自動更新它本身。 如果您要手動更新某些代理程式,請以滑鼠右鍵按下集區,然後選取[更新所有代理程式。
我可以更新屬於 Azure DevOps Server 集區一部分的代理程式嗎?
是的。 從 Azure DevOps Server 2019 開始,您可以設定伺服器來尋找本機磁碟上的代理程式套件檔案。 此設定將會覆蓋伺服器隨著它的發行時附帶的默認版本。 當伺服器無法存取因特網時,也會套用此案例。
使用可連接到網際網路的電腦,從 Azure Pipelines Agent GitHub Releases頁面下載最新版本的代理程式套件檔案(.zip 或 .tar.gz 格式)。
使用您選擇的方法,將下載的套件檔案傳輸至每個 Azure DevOps Server 應用層(例如 USB 磁碟驅動器、網路傳輸等等)。 將代理程式檔案放在下列資料夾下:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
如果不存在,請建立 Agents 資料夾。
- 您已準備就緒! 您的 Azure DevOps Server 現在會在更新代理程式時使用本機檔案。 當每個代理程式執行需要較新版本代理程式的工作時,就會自動更新它本身。 但是,如果您希望手動更新某些代理程式,請以滑鼠右鍵點按集區,然後選擇選項 更新所有代理程式。
我可以在哪裡深入瞭解已啟動的服務運作方式?
我正在執行防火牆,而我的程式代碼位於 Azure Repos 中。 代理程式需要與哪些 URL 通訊?
如果您在防火牆後方的安全網路中執行代理程式,請確定代理程式可以起始與下列 URL 和 IP 位址的通訊。
網域網址 | 描述 |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
使用 {organization_name}.visualstudio.com 網域的組織的 Azure DevOps 套件管理 API |
https://{organization_name}.visualstudio.com |
針對使用 {organization_name}.visualstudio.com 網域的組織 |
https://{organization_name}.vsblob.visualstudio.com |
使用 {organization_name}.visualstudio.com 網域的組織之 Azure DevOps 遙測 |
https://{organization_name}.vsrm.visualstudio.com |
使用 {organization_name}.visualstudio.com 網域的組織發行管理服務 |
https://{organization_name}.vssps.visualstudio.com |
使用 {organization_name}.visualstudio.com 網域的組織的 Azure DevOps 平台服務 |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps 測試管理服務適用於使用 {organization_name}.visualstudio.com 網域的組織 |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
針對使用 dev.azure.com 網域的組織 |
https://*.vsassets.io |
Azure Artifacts via CDN |
https://*.vsblob.visualstudio.com |
使用dev.azure.com 域的組織之Azure DevOps Telemetry |
https://*.vssps.visualstudio.com |
使用 dev.azure.com 網域的組織的 Azure DevOps 平台服務 |
https://*.vstmr.visualstudio.com |
Azure DevOps 測試管理服務適用於使用 dev.azure.com 網域的組織 |
https://app.vssps.visualstudio.com |
針對使用 {organization_name}.visualstudio.com 網域的組織 |
https://dev.azure.com |
針對使用 dev.azure.com 網域的組織 |
https://login.microsoftonline.com |
Microsoft Entra 登入 |
https://management.core.windows.net |
Azure 管理 API |
https://vstsagentpackage.azureedge.net https://download.agent.dev.azure.com |
代理程式套件 |
重要
適用於 Azure DevOps 的 Edgio CDN 正在退役,這需要在防火牆規則中將新的域名 URL 列入允許列表,以供代理程式軟體下載。
要允許下載代理程式的新網域為 https://*.dev.azure.com
。 如果您的防火牆規則不允許通配符,請使用 https://download.agent.dev.azure.com
。
Azure DevOps 小組建議在下列日期前進行這項變更:
- 2025 年 5 月 1 日 適用於 Azure DevOps Services
- 2025 年 5 月 15 日 適用於 Azure DevOps Server
如需詳細資訊,請參閱 管線中代理程式的 CDN 網域 URL 變更。
為了確保貴組織可以正常使用任何現有的防火牆或 IP 限制,請確認 dev.azure.com
和 *dev.azure.com
已被開啟,並更新允許的 IP 列表,以根據您的 IP 版本包含以下 IP 位址。 如果您目前允許列出 13.107.6.183
和 13.107.9.183
IP 位址,請保留它們,因為您不需要移除它們。
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Note
如需允許位址的詳細資訊,請參閱 允許的位址清單和網路連線。
如何使用自我簽署憑證來執行代理程式?
如何在 Web Proxy 後方執行代理程式?
如何重新啟動代理程式
如果您是以互動方式執行代理程式,請參閱 以互動方式執行中的重新啟動指示。 如果您以服務身分執行代理程式,請依照步驟 停止,然後 啟動 代理程式。
如何設定代理程式略過 Web Proxy 並連線到 Azure Pipelines?
如果您想要讓代理程式略過 Proxy 並直接連線到 Azure Pipelines,則您應該設定 Web Proxy 以讓代理程式存取下列 URL。
針對使用 *.visualstudio.com
網域的組織:
https://login.microsoftonline.com
https://app.vssps.visualstudio.com
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com
針對使用 dev.azure.com
網域的組織:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com
為了確保貴組織可以正常使用任何現有的防火牆或 IP 限制,請確認 dev.azure.com
和 *dev.azure.com
已被開啟,並更新允許的 IP 列表,以根據您的 IP 版本包含以下 IP 位址。 如果您目前允許列出 13.107.6.183
和 13.107.9.183
IP 位址,請保留它們,因為您不需要移除它們。
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Note
此程式可讓代理程式略過 Web Proxy。 Your build pipeline and scripts must still handle bypassing your web proxy for each task and tool you run in your build.
For example, if you are using a NuGet task, you must configure your web proxy to support bypassing the URL for the server that hosts the NuGet feed you're using.
我正在使用 TFS,但上述各節中的 URL 對我來說無法正常運作。 我可以在哪裡取得協助?
I use TFS on-premises and I don't see some of these features. 為什麼不呢?
有些功能僅在 Azure Pipelines 上可用,尚未在內部部署環境中提供。 Some features are available on-premises if you have upgraded to the latest version of TFS.
TFVC prerequisites
如果您使用 TFVC,您也需要 Oracle Java JDK 1.6 或更高版本。 (Oracle JRE 和 OpenJDK 不足以達到此目的。
TEE 外掛程式 用於 TFVC 功能。 其具有EULA,如果您打算使用 TFVC,則必須在設定期間接受此 EULA。
由於 TEE 外掛程式已不再維護,而且包含一些過時的 Java 相依項,從 Agent 2.198.0 開始,它已不再包含在代理的發行版中。 However, the TEE plugin is downloaded during checkout task execution if you're checking out a TFVC repo. 工作執行之後會移除 TEE 外掛程式。
備註
注意:由於此下載機制,您可能會注意到您的結帳流程花費很長時間才能開始。
如果代理程式在 Proxy 或防火牆後方執行,您必須接受以確保存取下列網站:https://vstsagenttools.blob.core.windows.net/
。 TEE 外掛程式會從這個地址下載。
如果您正在使用自托管代理並面臨TEE下載問題,您可以手動安裝TEE:
- 將
DISABLE_TEE_PLUGIN_REMOVAL
環境或管線變數設定為true
。 此變數可防止代理程式在簽出 TFVC 存放庫之後移除 TEE 外掛程式。 - Download TEE-CLC version 14.135.0 manually from Team Explorer Everywhere GitHub releases.
- 將
TEE-CLC-14.135.0
資料夾的內容解壓縮至<agent_directory>/externals/tee
。