我在Team Foundation Server项目中有文件夹和文件,当更改和签入时,需要将其部署到构建服务器上的文件夹中。没有解决方案或项目文件。
我对MSBuild并不熟悉,因此我在TeamCity中为VS2012项目采用了一个有效的build.xml,对其进行了编辑,以便复制文件,但在TeamCitygets最新源之后没有任何反应。
我在build.xml中做错了什么?
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="Copy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Copy">
<Copy SourceFiles="@(PackagedFiles)"
DestinationFiles="@(PackagedFiles->'\\SomeFolder\CredentialOnline\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
</Project>
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8" ?>
<Project DefaultTargets="CopyToDeployFolder" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyToDeployFolder">
<Exec Command="echo D| xcopy.exe $(teamcity_build_checkoutDir) c:\Someplace /s /Y" />
</Target>
</Project>
答案 1 :(得分:0)
以下内容可让您“微调”您想要的文件。 如果您不想排除任何内容,只需删除“Exclude =”子句。
仅供参考:WorkingDir是一个自定义变量,这是我的“根目录”。
<ItemGroup>
<MyExcludeFiles Include="$(WorkingDir)\**\SuperSecretStuff.txt" />
<MyExcludeFiles Include="$(WorkingDir)\**\SuperSecretStuff.doc" />
</ItemGroup>
<ItemGroup>
<MyIncludeFiles Include="$(WorkingDir)\**\*.*" Exclude="@(MyExcludeFiles)"/>
</ItemGroup>
<Copy
SourceFiles="@(MyIncludeFiles)"
DestinationFiles="@(MyIncludeFiles->'$(OutputDir)\%(RecursiveDir)%(Filename)%(Extension)')"
/>
您的“PackagedFiles”中可能没有任何内容。 这是一种列出它们的方法。
<Message Text="List of files using special characters (carriage return)"/>
<Message Text="@(PackagedFiles->'"%(fullpath)"' , '%0D%0A')"/>
<Message Text=" "/>
<Message Text=" "/>