在TFS 2015(「XPlat」)版本中,npm install
步驟掛起,直到超時。已經嘗試了10,20和30分鐘的超時。`npm install`超時在TFS 2015 build |上依賴關係由TFS託管Git回收
npm install
獲取在package.json
文件中定義爲提交上下的引用,如本地依賴性,
"ui-core": "git+http://tfs:8080/tfs/DefaultCollection/etc/_git/ui-core"
我相信這是那些造成問題的依賴,因爲有時當我登錄到構建服務器(作爲服務帳戶)並手動鍵入npm install
(在超時構建的目錄中),Git Credential Manager會提示我進行身份驗證。但是,依賴關係不是可選的。
(無其他錯誤出現在事件日誌中,也不在構建日誌。)
我們使用TFS託管的Git,這需要域級別的身份驗證(Kerberos的)。這是在我們的大部分環境中由Git Credential Manager處理(有人建議使用winstore
代替;請注意git-credential-manager
是winstore
的替代品,而wincred
因TFS而不是選項)。但是,身份驗證也不是可選的(業務需求)。
此外,請注意:我們正在運行TFS 2015 Update 3,因此該更新解決的npm install
問題可能不是原因(是的,所有構建代理已更新)。編輯:這裏有一個答案,建議使用SSH,我一般會全力支持SSH,但它已被刪除。我認爲在我們的情況下,問題是所有的開發人員都必須創建並上載SSH公鑰認證令牌。
有沒有其他人遇到過這個問題?有沒有簡單的解決方案,我沒有找到?我不知道任何其他憑證管理者會做得更好,我不知道爲什麼認證首先被丟棄(或者是因爲我錯過了某個黑客),並且缺少保留在手動更新的另一個共享上存儲庫的副本(不是更好!)我看不到一個好的解決方案。
您可以嘗試將您的構建代理配置爲使用您用來安裝GCM的相同帳戶運行嗎? –
不幸的是,沒有,因爲我將GCM作爲我的域用戶安裝,但構建代理無法使用這些權限運行。我可以嘗試用服務帳戶重新安裝'choco' git軟件包... –
您的構建代理是否以服務或交互模式運行? –