gpt4 book ai didi

tfs - 部署后安排任务

转载 作者:行者123 更新时间:2023-12-04 18:24:53 25 4
gpt4 key购买 nike

我需要在部署网站后立即在 Windows 任务计划程序(Windows Server 2008 R2 上的 v2.0)中设置计划任务。

我正在使用 TFS 2010 构建我的应用程序,显然我的 MSBuild 参数包含参数 /P:DeployOnBuild=True/P:DeployTarget=MSDeployPublish/P:CreatePackageOnPublish=true/P:MSDeployPublishMethod=WMSvc.

我知道我可以使用 Schtasks.exe 通过命令行设置计划任务,我也知道 MsDeploy 有一个 runCommand 提供程序。所以我想我可以使用 runCommand 来运行带有所需参数的 Schtasks.exe

我的问题是如何在 TFS 和 MsBuild 中执行此操作。我假设我可以将一些参数传递给 MsBuild,然后它们将“按原样”传输到 MsDeploy,但我找不到如何做的。

最佳答案

如果必须在构建之后,您需要使用postSync msdeploy argument执行 runCommand。由于 Visual Studio 的 MSBuild 任务无法使用 postSync,因此您需要生成一个包,然后使用 postSync 运行生成的 cmd 文件参数附加到最后。

Package.cmd -postSync:runCommand="c:\windows\system32\schtasks.exe arguments"

如果它应该在构建之后,您可以通过将以下内容添加到您的发布配置文件 (pubxml)、.wpp.targets 来包含额外的提供 文件或您的项目文件:

<ItemGroup>
<MsDeploySourceManifest Include="runCommand">
<Path>&quot;c:\Windows\system32\schtasks.exe&quot; &quot;Arguments here&quot;</Path>
</MsDeploySourceManifest>
</ItemGroup>

官方并不能保证提供程序按顺序运行,但实际上确实如此。不过,您可能需要将目标 Hook 到正确的事件中,以便您可以在其他提供程序之后注册您的runCommand

关于tfs - 部署后安排任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com