0

我有一个可以从命令行运行的 msbuild 脚本(构建并部署到另一台服务器)。我正在使用 vs.net 2012 并尝试使用构建定义通过使用完全相同的 msbuild 参数来触发类似的构建,但我无法让它工作。签入后还有其他方法可以触发此脚本吗?这就是我在命令行中调用它的方式:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe 
C:\dev\buildtestkut\mysol.sln 
/p:DeployOnBuild=true
/p:PublishProfile=local.pubxml
/p:AllowUntrustedCertificate=true
/p:UserName=myuser
/p:Password=pw
4

1 回答 1

3

如果您在 TFS 上并且有构建定义,那么您需要查看构建定义上的“触发器”选项卡。

在 VS2012 中,在 Team 选项卡中,单击 Home 图标。单击Builds,然后右键单击要编辑的 Build Definition 并单击Edit Build Definition。在触发器选项卡下,选择持续集成。这将导致构建在每次签入时触发。

您还可以选择 Gated Check-in,这将导致构建在尝试签入时启动,但仅在构建成功时才提交更改。

您的 MsBuild 脚本是 MsBuild 项目文件还是 VS .sln 文件,或者“脚本”是指调用 msbuild.exe 的 powershell 或批处理脚本?如果是这种情况,那么您可能希望在脚本中列出逻辑步骤并将其“移植”到可以由 MsBuild.exe 从 TFS 构建代理启动的 MsBuild 文件。(在 Build Definition 中,单击Process选项卡,在Required -> Items To Build -> Projects to Build下,您可以指定一个或多个可以使用 msbuild.exe 构建的项目。)

于 2013-09-19T23:46:15.303 回答