我可以从TFS构建中调用批处理文件吗?

时间:2017-08-17 01:08:58

标签: tfs

是否可以创建一个只调用批处理文件的TFS构建(不构建项目或解决方案)?

我所看到的所有例子都称为解决方案或项目。

2 个答案:

答案 0 :(得分:1)

对于TFS中的 vNext 构建,它​​是基于任务的。您只需在构建定义中添加批处理脚本任务即可。无需构建任何解决方案或项目。

enter image description here

对于 XAML 构建,您也可以忽略构建项目或解决方案,但它很复杂。您需要自定义构建过程模板,之后只需在过程中选择.bat文件。

enter image description here

有关如何执行此操作的更多详细信息,请参阅本教程:Run batch file from TFS build

答案 1 :(得分:1)

如果您不热衷于编辑构建模板,则另一个选项可能是使用库存XAML构建模板,创建一个获得"构建的dummy.proj文件,"并使用构建前或构建后的脚本。您可以从简单的PowerShell脚本调用批处理文件。这就是dummy.proj的样子:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Default">
  <PropertyGroup>
    <TPath>$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath>
    <TPath Condition="Exists('$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks')">$(MSBuildExtensionsPath)\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath>
  </PropertyGroup>
  <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
  <Import Project="$(TPath)"/>

    <Target Name="Default">
      <Message Text="Hello, world." />
    </Target>
</Project>