2016-04-12 59 views
0

從2010年開始,我們遇到了TFS 2015安裝問題,我們遇到了以下問題。這涉及到空運行,所以我們在同一臺服務器上安裝所有的東西,我們知道這不是一個首選的方法。創建後無法在構建/部署定義(vnext)中選擇TFS 2015機器組

•與Windows Server安裝新的虛擬服務器2012 R2

•添加IIS的功能

•安裝了SQL Server 2014

•安裝在服務器上的SharePoint Foundation 2013

•安裝Visual studio 2015在服務器上

•安裝了所有必需的.NET目標框架小號

•安裝,如MS的先決條件構建工具2015年,爲Microsoft Visual Studio代理2015年

•恢復TFS2010備份到新的SQL Server

•安裝TFS 2015年和跑在 '升級' 選項設置

•耗時配置中的所有的步驟,如添加生成控制器,並建立劑

•Dowloaded的VSO劑和跑「ConfigureAgent.cmd」

•配置了TFS中的代理池和隊列

•添加了一個額外的團隊項目集合。因此,我們有傳統的升級項目的集合,從2010年,再加上新的團隊集合項目

•下轄團隊項目,團隊成員等

•創建XAML構建定義,構建完成正確的服務器,如果我試圖創造出一個新的(非XAML)使用部署模板(見圖片)建立定義測試執行

然而,

。 當我們想要選擇「測試機羣/ Azure資源組」時,就會出現問題,例如選擇測試位置時。選擇列表是空的。 所以我們使用'管理'選項添加機器組,並且機器組可用。然而,即使在刷新之後,機器組的下拉列表仍然爲空(請參閱圖像)。

接下來我們檢查了事件日誌堡壘他的問題。

首先:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
- <System> 
    <Provider Name="Microsoft-Team Foundation Server" Guid="{80761876-6844-47D5-8106-F8ED2AA8687B}" /> 
    <EventID>0</EventID> 
    <Version>3</Version> 
    <Level>2</Level> 
    <Task>1</Task> 
    <Opcode>10</Opcode> 
    <Keywords>0x8000000000000001</Keywords> 
    <TimeCreated SystemTime="2016-04-12T09:09:21.717163200Z" /> 
    <EventRecordID>59666</EventRecordID> 
    <Correlation ActivityID="{6AD40FD3-10BA-4A7E-B6D9-F6926072DAB4}" /> 
    <Execution ProcessID="3376" ThreadID="6484" /> 
    <Channel>Microsoft-Team Foundation Server/Debug</Channel> 
    <Computer>KTBSV021.KTB.local</Computer> 
    <Security UserID="S-1-5-21-2105344776-4230907741-261866850-3716" /> 
    </System> 
- <UserData> 
- <Info TraceId="{00000001-0001-0001-0000-000000000000}" xmlns="http://schemas.microsoft.com/TeamFoundation/2010/Framework"> 
    <Tracepoint>0</Tracepoint> 
    <ServiceHost>{87670F79-6386-4363-9960-73B634419263}</ServiceHost> 
    <ContextId>10085</ContextId> 
    <ProcessName>w3wp</ProcessName> 
    <Username>KTB\tmpadmin</Username> 
    <VSID>{9E83242F-9944-4CBD-AF10-EF2D449A03B1}</VSID> 
    <Service>Web-Api</Service> 
    <Method>TaskDefinitionWebApiProxy.QueryEndpoint</Method> 
    <Area>DistributedTask</Area> 
    <Layer>WebApiProxy</Layer> 
    <UserAgent>Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko</UserAgent> 
    <Uri>/tfs/Default/_apis/distributedtask/endpoint</Uri> 
    <Path /> 
    <UniqueIdentifier>{A9646429-41CB-4137-A39A-D4E29EDDC389}</UniqueIdentifier> 
    <UserDefined /> 
    <ExceptionType>System.Net.WebException</ExceptionType> 
    <Message>System.Net.WebException: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() at Microsoft.TeamFoundation.DistributedTask.Server.WebApiProxy.HttpRequestProxy.ExecuteRequest(HttpRequestMessage requestMessage, IList`1 sourceDefinitions, DataSource dataSource)</Message> 
    </Info> 
    </UserData> 
    </Event> 

二:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> 
- <System> 
    <Provider Name="Microsoft-Team Foundation Server" Guid="{80761876-6844-47D5-8106-F8ED2AA8687B}" /> 
    <EventID>0</EventID> 
    <Version>3</Version> 
    <Level>2</Level> 
    <Task>1</Task> 
    <Opcode>10</Opcode> 
    <Keywords>0x8000000000000001</Keywords> 
    <TimeCreated SystemTime="2016-04-12T09:09:21.717163200Z" /> 
    <EventRecordID>59667</EventRecordID> 
    <Correlation ActivityID="{6AD40FD3-10BA-4A7E-B6D9-F6926072DAB4}" /> 
    <Execution ProcessID="3376" ThreadID="6484" /> 
    <Channel>Microsoft-Team Foundation Server/Debug</Channel> 
    <Computer>KTBSV021.KTB.local</Computer> 
    <Security UserID="S-1-5-21-2105344776-4230907741-261866850-3716" /> 
    </System> 
- <UserData> 
- <Info TraceId="{00000001-0001-0001-0000-000000000000}" xmlns="http://schemas.microsoft.com/TeamFoundation/2010/Framework"> 
    <Tracepoint>103200</Tracepoint> 
    <ServiceHost>{87670F79-6386-4363-9960-73B634419263}</ServiceHost> 
    <ContextId>10082</ContextId> 
    <ProcessName>w3wp</ProcessName> 
    <Username>KTB\tmpadmin</Username> 
    <VSID>{9E83242F-9944-4CBD-AF10-EF2D449A03B1}</VSID> 
    <Service>Web-Api</Service> 
    <Method>TaskDefinitionWebApiProxy.QueryEndpoint</Method> 
    <Area>DistributedTask</Area> 
    <Layer>TaskDefinitionWebApiProxy</Layer> 
    <UserAgent>Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko</UserAgent> 
    <Uri>/tfs/Default/_apis/distributedtask/endpoint</Uri> 
    <Path /> 
    <UniqueIdentifier>{A9646429-41CB-4137-A39A-D4E29EDDC389}</UniqueIdentifier> 
    <UserDefined /> 
    <ExceptionType>Microsoft.TeamFoundation.DistributedTask.WebApi.ServiceEndpointQueryFailedException</ExceptionType> 
    <Message>Microsoft.TeamFoundation.DistributedTask.WebApi.ServiceEndpointQueryFailedException: The remote server returned an error: (401) Unauthorized. at Microsoft.TeamFoundation.DistributedTask.Server.WebApiProxy.HttpRequestProxy.ExecuteRequest(HttpRequestMessage requestMessage, IList`1 sourceDefinitions, DataSource dataSource) at Microsoft.TeamFoundation.DistributedTask.Server.Controllers.TaskDefinitionWebApiProxyController.QueryEndpoint(TaskDefinitionEndpoint endpoint) at lambda_method(Closure , Object , Object[]) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()</Message> 
    </Info> 
    </UserData> 
    </Event> 

提琴手報告它下面的請求失敗:

在下拉列表的刷新以下的條目在事件日誌中做

POST http://localhost:8080/tfs/Default/_apis/distributedtask/endpoint HTTP/1。1

•PowerShell Remote已在服務器上啓用。

•服務帳戶已添加到代理池中的角色。

這顯然是一個安全問題。我們忘記或做錯了什麼?

+0

所以錯誤是: System.Net.WebException:遠程服務器返回錯誤:(401)未經授權。在System.Net.HttpWebRequest.GetResponse()在Microsoft.TeamFoundation.DistributedTask.Server.WebApiProxy.HttpRequestProxy.ExecuteRequest(HttpRequestMessage requestMessage,IList'1 sourceDefinitions,DataSource dataSource)

回答

0

你的問題有點像this post。您可以嘗試使用this case中的解決方案將TFS服務帳戶添加到具有完全訪問權限的C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys,以便該服務可以訪問所有證書。

但首先,嘗試使用您的帳戶重新部署代理,該帳戶應該作爲團隊項目集管理員或代理池管理員添加。

+0

對不起,這並沒有解決問題。問題依然存在。 –

+0

您是否嘗試重新部署代理或創建新代理? –

+0

是的,已經做到了,問題依然存在 –

相關問題