Pergunta

Eu fiz uma aplicação C # e eu estou tentando descobrir se eu posso tocar em eventos de compilação de cctray (bandeja controle de cruzeiro)? Eu não quero re-inventar a roda, eu só quero saber quando meu constrói falhar ou ter sucesso (em uma máquina cliente), de modo que o meu costume C # aplicação pode executar um conjunto específico de rotinas.

Foi útil?

Solução

Você pode adicionar a biblioteca remota CruiseControl como um refrence e criar uma instância de CruiseManagerFactory e esta linha irá obter o status de todos os projetos. ServerUri é uma string no formato de tcp: // ServerName: port / CruiseManager.rem

ProjectStatus[] currentStatuses = managerFactory.GetCruiseManager(ServerUri).GetProjectStatus();

Neste exemplo eu, obviamente, chamado minha instância de CruiseManagerFactory managerFactory. A variedade de ProjectStatus em seguida, tem o status atual de todos os projetos no endereço de ServerUri.

Outras dicas

Qualquer razão para que você não pode usar sua ferramenta de construção para fazer isso?
por exemplo. em Nant , você pode especificar o destino a ser executado quando a construção falhar ou for bem-sucedido usando as propriedades nant.onfailure e nant.onsuccess . Nos alvos de compilação, você poderia chamar o aplicativo C # via executar tarefas.
CruiseControl tem onSuccess e editores onfailure ... mas estranhamente não pode encontrá-los em CruiseControl .net.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top