Кто-нибудь знает, как слушать события сборки из уже запущенного процесса cctray, в C#?
Я сделал приложение на C# и пытаюсь выяснить, могу ли я подключиться к событиям сборки cctray (лотка круиз-контроля)? Я не хочу заново изобретать колесо, я просто хочу знать, когда мои сборки потерпят неудачу или преуспеют (на клиентской машине), чтобы мое пользовательское приложение C# могло выполнить определенный набор подпрограмм.
2 ответа
Вы можете добавить удаленную библиотеку CruiseControl в качестве ссылки и создать экземпляр CruiseManagerFactory, и эта строка покажет вам статус всех проектов. ServerUri - это строка в формате tcp:// имя_сервера: порт /CruiseManager.rem
ProjectStatus[] currentStatuses = managerFactory.GetCruiseManager(ServerUri).GetProjectStatus();
в этом примере я, очевидно, назвал свой экземпляр CruiseManagerFactory managerFactory. Массив ProjectStatus имеет текущий статус всех проектов по адресу ServerUri.
Любая причина, почему вы не можете использовать свой инструмент сборки, чтобы сделать это?
например, в Nant вы можете указать цель, которая будет выполняться при сбое или успешном построении, используя свойства nant.onfailure и nant.onsuccess. В целях сборки вы можете вызывать ваше приложение на C# через выполнение задач.
CruiseControl имеет издателей onSuccess и onFailure... но, как ни странно, не может найти их в CruiseControl.net.