【发布时间】:2023-03-15 14:02:01
【问题描述】:
我想编写一个简单的任务,它将更新和提交 Nightly 构建到 SVN 的源代码。我在 msbuildtasks.tigris.org 页面上,并下载了 dll,但我不知道如何编写它。能否提供一些基本示例?
【问题讨论】:
我想编写一个简单的任务,它将更新和提交 Nightly 构建到 SVN 的源代码。我在 msbuildtasks.tigris.org 页面上,并下载了 dll,但我不知道如何编写它。能否提供一些基本示例?
【问题讨论】:
下面是一个示例(取自 MSBuild 社区任务构建),它正是这样做的:
<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 属性可以很容易地提交更多。
【讨论】:
我们使用 nant,虽然有特定于 svn 的任务,但您可以使用 exec 任务进行更多控制。
如果您将 svn 客户端 CLI 安装到构建服务器上,您将能够使用 MSBuild 中的 exec 任务来运行 svn update 命令。这是我们的 Nant 构建脚本中的一个 sn-p,我相信您可以轻松地适应 MSBuild 脚本。
希望这会有所帮助。
【讨论】: