Вы, конечно, можете написать пользовательское действие Workflow, чтобы поставить в очередь сборку для определения сборки. Это действие должно быть действием кода и принимать имя определения сборки, которое вы хотите поставить в очередь.
Чтобы написать код, который взаимодействует с вашим сервером TFS и поставить в очередь сборку, вы можете использовать API-интерфейсы Microsoft.TeamFoundation.Build.Client . Также Джим Лэмб писал о создании пользовательских действий для сборки здесь .
Подробно, ваш код должен выполнить следующие шаги:
- Создает объект TfsTeamProjectCollection для подключения к вашей коллекции командных проектов.
- Получить объект IBuildServer . Это основная запись. Отсюда вы можете получить определение сборки, создать запрос на сборку, поставить в очередь сборку и т. Д.
Я на самом деле удивлен, что нет примера для выпуска 2010 года, когда я пытался найти «очередь программных средств tfs | создать сборку». Я, вероятно, напишу об этом в блоге.
Однако следует быть осторожным в том, что сборка, поставленная в очередь из вашей пользовательской активности, будет поставлена в очередь учетной записью службы сборки, поэтому вам нужно убедиться, что этой учетной записи предоставлены правильные разрешения для постановки в очередь. строить. По умолчанию, когда он добавляется в группу учетных записей служб TFS Build, я не думаю, что он имеет.
UPDATE:
Эвальд Хофман (Ewald Hofman) только что написал серию о TFS Build, в одной из которых рассказывается о выполнении олицетворения с помощью пользовательского действия. Это идеально подходит для ваших нужд:
http://www.ewaldhofman.nl/post/2010/05/28/Customize-Team-Build-2010-e28093-Part-9-Impersonate-activities-(run-under-other-credentials).aspx
Я также узнал, что Тейлор Лафрин написал в блоге о программном создании билда в 2009 году:
http://blogs.msdn.com/b/taylaf/archive/2009/12/04/introducing-tfs-impersonation.aspx
Надеюсь, это поможет.