在 Web Proxy 後方執行自我裝載式代理程式
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
當您的自我裝載代理程式需要 Web Proxy 時,您可以在設定期間通知代理程式有關 Proxy 的資訊。 這可讓您的代理程式透過 Proxy 連線到 Azure Pipelines 或 TFS。 這反過來又可讓代理程式取得來源並下載成品。 最後,它會將 Proxy 詳細數據傳遞至也需要 Proxy 設定才能連線到 Web 的工作。
Azure Pipelines、TFS 2018 RTM 和更新版本
(適用於代理程式 2.122 版和更新版本。
若要讓代理程式在 Web Proxy 後方執行,請在代理程式設定期間傳遞 --proxyurl
和 --proxyusername
--proxypassword
。
例如:
./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"
我們會將您的 Proxy 認證負責任地儲存在每個平臺上,以避免意外外洩。 在 Linux 上,認證會以以電腦識別碼為基礎的對稱密鑰加密。 在macOS上,我們使用Keychain。 在 Windows 上,我們使用認證存放區。
注意
代理程式 122.0 版隨附於 TFS 2018 RTM,在 Windows 上設定為服務有已知問題。
因為 Windows 認證存放區是每個使用者,因此您必須使用服務將執行身分的相同用戶來設定代理程式。 例如,若要將代理程式服務設定為 執行身分 mydomain\buildadmin
,您必須啟動 config.cmd
為 mydomain\buildadmin
。 您可以使用該使用者登入計算機,或在 Run as a different user
Windows 殼層中使用 來執行此動作。
代理程式如何處理組建或發行作業內的 Proxy
代理程式會透過檔案中指定的 .proxy
Web Proxy 與 Azure DevOps/TFS 服務交談。
由於組建中工作和Download Artifact
版本中工作的程式碼Get Source
也會內嵌到代理程式中,因此這些工作會遵循檔案中的.proxy
代理程式 Proxy 組態。
代理程式會透過環境變數公開每個工作執行的 Proxy 組態。 工作作者必須使用 azure-pipelines-task-lib 方法來擷取 Proxy 設定,並在 其工作內處理 Proxy 。
請注意,許多工具不會自動使用代理程式設定的 Proxy 設定。 例如,和 dotnet
之類的curl
工具可能需要在機器上設定 Proxy 環境變數,例如 http_proxy
。
指定 Proxy 略過 URL
在代理程式的根目錄中建立檔案 .proxybypass
,指定正則表示式(在 ECMAScript 語法中),以符合應該略過 Proxy 的 URL。 例如:
github\.com
bitbucket\.com