在 Azure Devops 中手动调用 MsDeploy.exe

Invoking MsDeploy.exe manually in a Azure Devops

背景

作为我们部署管道的一部分,我们正在创建我们的部署工件,方法是 运行 在我们的构建工件上进行几个 .xdt 转换并添加几个额外的文件。

作为发布前的最后一步,我们想调用 msdeploy.exe 从包含 wwwroot-content 的文件夹构建一个 "custom" webdeploy 包 -(用于创建自定义包的 msdeploy 命令位于这个问题)

我们正在使用托管代理 (win 2017)。

我们希望部署到 Azure AppService。

问题

Azure DevOps 中是否有允许您手动调用 MsDeploy.exe 的任务,以便我们可以在部署之前创建自定义 webdeploy 包?

Is there a task in Azure DevOps, that allows you to invoke MsDeploy.exe manually, such that we can create a custom webdeploy package, before we deploy?

恐怕没有这样的任务可以手动调用 MsDeploy.exe。我们需要通过命令行任务调用它,就像大牛评论一样。

我们知道,默认安装会将msdeploy.exe放在:

C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe

为了验证托管代理上的 msdeploy 路径,我使用了内容为 **\msdeploy.exe:

copy task

然后使用 Publish build artifacts 输出 msdeploy.exe,我可以在托管代理 vs2017-win2016[= 上得到结果44=]-2019:

因此,托管代理 vs2017-win2016windows-2019 上的 msdeploy 路径是 C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe.我们可以使用命令行任务来调用它。

希望对您有所帮助。

这是对我有用的确切命令行任务(尽管没有参数):