TFS 2010: запустить скрипт powershell, сохраненный в системе контроля версий - PullRequest
1 голос
/ 08 июня 2011

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

Я подумываю об использовании действия invokeActivity в шаблоне для использования powershell для выполнения этой работы, указав сценарий FTP, который автоматически копирует выходные данные сборки на назначенный FTP-сайт, а затем запускает сценарии SQL (обновления), если необходимо, используя интерактивный сеанс удаленного взаимодействия SSH или s powershell. (возможно, указано в отдельном скрипте SQL)

Есть некоторые неизвестные для меня, которые я не могу понять с помощью Google:

Могу ли я позволить пользователю указывать сценарий, присутствующий в системе управления версиями (например, $(source)\scripts\ftpscript.ps1), в качестве сценария, который должен использоваться? Будет ли powershell иметь доступ к этому файлу? или я должен скопировать его в каталог сборки и указать, когда я его запусту? (Я не знаю, как настроить шаблон для получения файлов из системы управления версиями, поэтому очень важен указатель на некоторую полезную информацию о том, как это сделать)

Если предыдущий просто не работает вообще, могу ли я создать папку \ scripts \ в моем проекте веб-сайта, зафиксировать это для управления исходным кодом, а затем использовать BuildDetail.DropLocationRoot & "\scripts\" в качестве местоположения для сценария и перед копией файлы сценариев, включив опцию принудительного копирования?

1 Ответ

3 голосов
/ 08 июня 2011

Для запуска скрипта PowerShell я думаю, что вы можете использовать действие InvokeProcess, которое вызовет что-то вроде этого: % windir% \ system32 \ windowspowershell \ v1.0 \ powershell.exe "$ (SolutionRoot) \ test.ps1

И да, вы можете получить доступ к файлу скрипта, присутствующему в системе контроля версий, используя ключевое слово "SourcesDirectory".

...