В CruiseControl.NET у меня настроено два проекта: один для сборки, а другой - для развертывания пакетов сборки.
Наша сборка в значительной степени основана на MSBuild , и по мере ее запуска панель мониторинга постоянно обновляется с учетом последних результатов сборки. Это означает, что даже несмотря на то, что полная сборка может занять 15 минут, вы можете точно увидеть, где она находится, и что она продвигается.
Развертывание выполняется с помощью другого инструмента (VisualBuild, хотя я вижу такое же базовое поведение с другие инструменты, такие как PowerShell). Это еще одна длительная задача, но в этом случае информационная панель , а не обновляется своими выводами по мере выполнения. Поскольку развертывание может занять много времени, сложно сказать, идет ли дело вперед или что-то застопорилось. Выходные данные регистрируются в журнале CruiseControl.NET и будут отображаться на панели управления, как только что-то будет сделано, но не во время развертывания.
Есть ли способ, чтобы выходные данные других произвольных длительных задач обновлялись на панели управления в режиме, напоминающем реальное время? Что делает MSBuild особенным в этом отношении?