Wer weiß, wie sie die Ereignisse hören bauen von einem bereits laufenden cctray Prozess, in C #?
-
21-08-2019 - |
Frage
Ich habe eine C # Anwendung gemacht, und ich versuche, herauszufinden, ob ich in Build-Ereignisse von cctray tippen kann (Tempomat Fach)? Ich will nicht das Rad neu erfinden, ich möchte nur wissen, wenn mein Builds (auf einem Client-Rechner) scheitern oder erfolgreich sein, so als meine benutzerdefinierte C # Anwendung einen bestimmten Satz von Routinen ausführen kann.
Lösung
Sie könnten die CruiseControl- Remote-Bibliothek als refrence hinzufügen und eine Instanz von CruiseManagerFactory erstellen und diese Zeile zeigt den Status aller Projekte erhalten. ServerUri ist ein String im Format tcp: // Servername: Port / CruiseManager.rem
ProjectStatus[] currentStatuses = managerFactory.GetCruiseManager(ServerUri).GetProjectStatus();
in diesem Beispiel meine Instanz ich natürlich CruiseManagerFactory managerFactory genannt. Das Array von ProjectStatus hat dann den aktuellen Status aller Projekte an der Adresse ServerUri.
Andere Tipps
Gibt es Gründe, warum Sie nicht Ihr Build-Tool verwenden können, das zu tun?
z.B. in Nant , können Sie das Ziel angeben, ausgeführt werden, wenn die Build fehlschlägt oder gelingt mithilfe von die nant.onfailure und nant.onsuccess Eigenschaften . In den Build-Ziele, könnten Sie Ihre C # Anwendung aufrufen über Aufgaben auszuführen.
CruiseControl- hat onSuccess und onFailure Verlage ... aber seltsam kann sie nicht in CruiseControl- finden .net.