代码之家  ›  专栏  ›  技术社区  ›  Leszek Wachowicz

msbuild和svn更新

  •  4
  • Leszek Wachowicz  · 技术社区  · 15 年前

    我想写一个简单的任务,它将更新并提交每晚构建到SVN的源代码。我在msbuildtasks.tigris.org页面上下载了DLL,但我不知道如何编写它。你能提供一些基本样品吗?

    2 回复  |  直到 15 年前
        1
  •  6
  •   cHao    15 年前

    下面是一个示例(取自msbuild community tasks build),它执行以下操作:

    <ItemGroup>
        <CommitFiles Include="www\index.html" />
        <CommitFiles Include="www\MSBuild.Community.Tasks.Nightly.zip" />
        <CommitFiles Include="www\MSBuild.Community.Tasks.Nightly.msi" />
     </ItemGroup>    
    
    <SvnCommit Targets="@(CommitFiles)" Message="AutoBuild"
         Username="$(CommitUser)" Password="$(CommitPassword)">
        <Output TaskParameter="Revision" PropertyName="Revision" />
    </SvnCommit>
    

    当然,您需要导入msbuild社区任务以使其工作:

    <Import Project="MSBuild.Community.Tasks.Targets" />
    

    这个示例只提交了几个文件,但是通过在任务上设置Targets属性,可以更容易地提交。

        2
  •  0
  •   PilotBob    15 年前

    我们使用nant,虽然有特定于svn的任务,但使用exec任务可以获得更多的控制权。

    如果将SVN客户端CLI安装到生成服务器上,则可以使用msbuild中的exec任务来运行svn update命令。下面是我们的nant构建脚本的一个片段,我确信您可以很容易地适应msbuild脚本。

    希望这有帮助。