2013-12-20 3 views
2

У меня есть сборка, которая запускает скрипт PowerShell. Что он делает, это собирать показатели охвата кода, а затем сохраняет эту информацию в базе данных. Я хотел бы передать значение из этого сценария и вернуться в рабочий процесс сборки, чтобы я мог передать или завершить сборку на основе этого значения.Передайте значение из powershell в TFS Build Workflow

Любые идеи о том, как я мог это сделать?

ответ

3

Самый простой способ - исключить PowerShell исключение. Это также приведет к тому, что Powershell вернет код выхода, отличный от 0. В вашем InvokeProcess вы можете обрабатывать поток ошибок или иметь параметр Result, назначенный переменной в рабочем процессе сборки, а затем следовать этому, если блок if должен пройти или сбой сборки.

Или вы можете вернуть результат покрытия с помощью функции exit, он будет присвоен объекту Result объекта InvokeProcess.

exit 12345; 
+0

Можно ли создать собственный код ошибки, таким образом я могу изолировать его от реальных ошибок? Надеюсь, это имело смысл. – AspiringTFSGuru

+0

Как насчет этого варианта? Перейдите в значение порога покрытия в PowerShell, процесс покрытия будет запущен, а если значение переданного значения будет меньше результата, я смогу установить статус сборки из PowerShell. – AspiringTFSGuru

+0

Конечно, это возможно, вызовите функцию 'exit' из powershell: http://blogs.msdn.com/b/powershell/archive/2006/10/14/windows-powershell-exit-codes.aspx – jessehouwing

Смежные вопросы