[英]How to restore nuget packages from a private azure devops feed?
我在 azure devops 的私人 nuget 提要中有 nuget 包,我嘗試從本地 TFS 使用它們。
在 azure devops 中,我導航到 Artifacts -> Connect to feed 並單擊鏈接“下載 NuGet + 憑據提供程序”。 運行CredentialProvider.VSS.exe -U URL_TO_FEED
我得到了一個 jwt 令牌。
在本地 tfs 中,我導航到構建定義中的“NuGet 恢復”步驟。 在“訂閱源和身份驗證”中,我選擇了“我的 NuGet.config 中的訂閱源”,在“此帳戶/集合之外的訂閱源憑據”中,我單擊了“管理”。 在“添加新的 Team Foundation Server/Team Services 連接”對話框中,我選擇了“基於令牌的身份驗證”並填寫了值。 我將我從 CredentialProvider.VSS.exe 獲得的令牌放在“個人訪問令牌”字段中。
nuget 包被恢復,所以一切看起來都很好,但第二天它不再工作,因為令牌只在幾個小時內有效(我對其進行了解碼以驗證)。
我該怎么做? 使用“個人訪問令牌”似乎很奇怪,因為它不應該與我個人有關(例如,如果我離開組織)。 CredentialProvider.VSS.exe 生成的令牌的用戶名是 VssSessionToken,這可能表明它不是與我相關的個人令牌,但我不知道。
PAT(個人訪問令牌)幾乎是用於 Azure Artifacts 源的方式,因為它們是提供對 Azure DevOps 不同部分的訪問的通用方法。
如果您擔心它們是個人的,那么使用服務帳戶生成令牌可能是一種解決方案。
如果您想要一個生命周期更長的 PAT,那么自己創建一個可能更容易(請參閱https://docs.microsoft.com/en-us/azure/devops/artifacts/nuget/nuget-exe?view=azure- devops&tabs=new-nav#add-a-feed-to-nuget-2說明)
簡而言之,您將創建一個具有“包裝(讀取)”權限的 PAT,以限制濫用的可能性。
需要考慮的兩件事:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.