Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS 2010:运行存储在源代码管理中的powershell脚本_Powershell_Automated Deploy - Fatal编程技术网

TFS 2010:运行存储在源代码管理中的powershell脚本

TFS 2010:运行存储在源代码管理中的powershell脚本,powershell,automated-deploy,Powershell,Automated Deploy,我们已经开始在我工作的公司使用TFS2010。我们创建电子商务web应用程序(购物网站)。我正在创建一个自定义模板,以便在生成后使用生成模板部署web项目。 我看过web部署工具,但MSDN似乎表明它只能进行初始部署,并且我需要能够使用相同的脚本进行增量部署 我正在考虑使用模板中的invokeActivity活动,通过指定一个FTP脚本来使用powershell完成这项工作,该脚本自动将生成的输出复制到指定的FTP站点,然后运行SQL(升级)脚本,如果需要,可以使用SSH或s powershel

我们已经开始在我工作的公司使用TFS2010。我们创建电子商务web应用程序(购物网站)。我正在创建一个自定义模板,以便在生成后使用生成模板部署web项目。 我看过web部署工具,但MSDN似乎表明它只能进行初始部署,并且我需要能够使用相同的脚本进行增量部署

我正在考虑使用模板中的invokeActivity活动,通过指定一个FTP脚本来使用powershell完成这项工作,该脚本自动将生成的输出复制到指定的FTP站点,然后运行SQL(升级)脚本,如果需要,可以使用SSH或s powershell远程交互会话。(可能在单独的SQL脚本中指定)

对于我来说,有一些未知的东西我无法通过使用谷歌来弄清楚:

排队生成时,我是否能够让用户指定源代码管理中存在的脚本(例如
$(source)\scripts\ftpscript.ps1
)作为要使用的脚本?powershell是否能够访问/使用该文件?或者我应该将其复制到构建目录并指定何时运行它?(我不知道如何设置模板以从源代码管理获取文件,因此,如果您能提供一些有用的信息来帮助我,我将不胜感激)


如果前一个根本不起作用,我可以在我的网站项目中创建一个文件夹\scripts\并将其提交给源代码管理,然后使用
BuildDetail.DropLocationRoot&“\scripts”
作为脚本的位置,并通过启用强制复制选项来创建脚本文件的副本?

要运行PowerShell脚本,我认为您可以使用InvokeProcess活动,该活动将触发以下内容: %windir%\system32\windowspowershell\v1.0\powershell.exe“$(SolutionRoot)\test.ps1


是的,您可以使用“SourcesDirectory”关键字访问源代码管理中的脚本文件。

我还将在Powershell参数中添加-NoProfile和-NonInteractive,例如
“-NonInteractive-NoProfile-Command”“&{+SourcesDirectory+”\Build\MakeSdkZip.ps1“+SourcesDirectory+”+ZipPath+“}”“
你有没有想过?我正在吃这个trouble@NerdinTraining很抱歉,我无法完成这项工作。最终,公司没有任何人能够支持我获得这些知识,我不得不放弃一些计划中的功能。在本例中,它被简化为web deploy的InvokeProcess,这大大简化了部署,但也降低了轻松运行检查脚本的能力。(很抱歉反应太晚)