2013-06-05 34 views
1

我们最近遇到了一个问题,最近我们的MS测试控制器控制器服务无法沿着Jenkins服务端启动。我们试图启动控制器服务每一次,我们在事件下面的错误日志启动MSTest控制器服务并提供Jenkins服务

Service cannot be started. System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL http://+:80/AgentInstallerService/ because TCP port 80 is being used by another application. ---> System.Net.HttpListenerException: The process cannot access the file because it is being used by another process 
    at System.Net.HttpListener.AddAllPrefixes() 
    at System.Net.HttpListener.Start() 
    at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen() 
    --- End of inner exception stack trace --- 
    at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen() 
    at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener) 
    at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback) 
    at System.ServiceModel.Channels.HttpChannelListener`1.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpe... 

Has anyone run into this before? 

回答

1

我们看到了同样的错误,它是由Visual Studio中尝试使用端口80开始的TestController /代理造成的,与詹金斯也在那个港口上运行。我们的解决方案是更新詹金斯在端口8080上运行这是通过更新我们的詹金斯配置实现如下:

d:\程序文件(x86)\詹金斯\ jenkins.xml(可能位于其他地方)

-Xrs -Xmx256m -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle罐子 “%BASE%\ jenkins.war” --httpPort = 8080

这大概也发生如果任何其他(非詹金斯)服务已经在Port 80上运行了。