Можете ли вы поставить в очередь рабочие процессы Build-Deploy-Test в TFS 2010?

Я использовал рабочий процесс сборки Build-Deploy-Test для TFS 2010 (см. Здесь http://msdn.microsoft.com/en-us/vstudio/gg131922.aspx) и просто хотел бы узнать, есть ли способ, которым вы может поставить в очередь один или несколько из них для работы в той же лабораторной среде?

Я придумал хрупкое, но (в основном) рабочее решение для этого, изменив шаблон сборки. Я устанавливаю флаг "используемая среда" всякий раз, когда запускается рабочий процесс, и все последующие циклы рабочих процессов зацикливаются и ожидают очистки флага.

Мое решение работает большую часть времени, но иногда я сталкиваюсь с условиями гонки, и оба рабочих процесса пытаются запустить в одно и то же время, один "выигрыш" и сначала возвращая среду к тестовому снимку.

Как вы можете сказать, это плохое решение, но быстрое! Есть ли правильный способ поставить в очередь рабочие процессы Build-Deploy-Test в среде?

1 ответ

Решение

Нет никакого способа сделать это "из коробки" с TFS 2010; это подтвердил Аллен из Microsoft (см. комментарии).

Я решил эту проблему более удовлетворительно, реализовав пользовательскую операцию сборки, которая поддерживает регистр в памяти всех сборок, использующих конкретную лабораторную среду. Я взаимодействую с этим действием, используя измененную версию DefaultLabTemplate, ожидая начала сборки, пока не станет доступна настроенная лабораторная среда.

Решение ни в коем случае не является идеальным, поскольку оно не масштабируется за пределы одного контроллера сборки, но работает достаточно для нужд моей организации!

Другие вопросы по тегам