【问题标题】:How to deploy project with msdeploy instead of msbuild如何使用 msdeploy 而不是 msbuild 部署项目
【发布时间】:2013-10-24 13:06:59
【问题描述】:

今天我使用 msbuild 将 Web 应用程序部署到 iis 服务器。如何使用 msdeploy(命令行)做同样的事情?

MSBuild.exe myproject.csproj
/P:VisualStudioVersion=11.0
/P:Password=pass
/P:AllowUntrustedCertificate=true
/P:DeployOnBuild=True
/P:PublishProfile=deploytest
/P:DeployIISAppPath="Default Web site"
/P:MsDeployServiceUrl=my.server.com
/P:Configuration=Release

【问题讨论】:

    标签: msbuild msdeploy webdeploy


    【解决方案1】:

    这取决于您希望您的工作流程是什么,如果您想打包输出并单独部署,那么您需要从您的构建中创建一个 zip 文件。

    创建包

    将以下内容添加到您的 msbuild 命令行以创建包:

    /p:DeployTarget=Package
    /p:PackageLocation=MyProject.zip
    /p:CreatePackageOnPublish=True
    

    部署包

    msdeploy.exe 
        -verb:sync 
        -source:Package=MyProject.Zip 
        -destination:auto:ComputerName="my.server.com"
    

    您可能还想从一个已部署的站点升级到另一个站点。

    克隆网站

    msdeploy.exe
        -verb:sync
        -source:appHostConfig="my.server.com"
        -dest:appHostConfig="mynew.server.com"
    

    或者您可能已经有一个要定位的网站。

    克隆应用程序

    msdeploy.exe
        -verb:sync
        -source:iisApp="my.server.com/MyApp"
        -dest:iisApp="my.server.com/MyNewApp"
    

    【讨论】:

    • 有没有办法只使用网络部署?
    • 您无法使用 msdeploy 构建,但您可以使用 msbuild 构建和部署,或者您可以使用 msbuild 构建并使用 msdeploy 部署。我不确定你的用例在这里吗?
    • 好的。我想我现在明白了。我认为 msbuild 是“旧方法”,而 msdeploy 是更清洁的方法。但是当你这样说时,它是有道理的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多