2013-06-05 3 views
1

Récemment, nous avons récemment rencontré un problème dans lequel notre service de contrôleur de contrôleur de test MS ne parvenait pas à démarrer le service Jenkins. Chaque fois que nous essayons de démarrer le service du contrôleur, nous l'erreur suivante dans le journal des événementsDémarrage du service MSTest Controller le long du service 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? 

Répondre

1

Nous avons vu cette même erreur, et il a été causé par Visual Studio essayant de démarrer un port à l'aide TestController/Agent 80, avec Jenkins fonctionne également sur ce port. Notre solution a consisté à mettre à jour Jenkins à courir sur le port 8080. Cela a été accompli en mettant à jour notre config Jenkins comme suit:

D: \ Program Files (x86) \ Jenkins \ jenkins.xml (pourrait se trouver ailleurs)

-Xrs -Xmx256m -Dhudson.lifecycle = hudson.lifecycle.WindowsServiceLifecycle jar "% BASE% \ jenkins.war" --httpPort = 8080

Cela se produirait sans doute aussi si d'autres services (non-Jenkins) fonctionnaient déjà sur le port 80.

Questions connexes