分享方式:


在 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.cmdmydomain\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