Msbuild 我如何使用VST构建web应用并将其发布到FTP服务器?

Msbuild 我如何使用VST构建web应用并将其发布到FTP服务器?,msbuild,azure-devops,azure-pipelines,msdeploy,azure-pipelines-release-pipeline,Msbuild,Azure Devops,Azure Pipelines,Msdeploy,Azure Pipelines Release Pipeline,通过VSTS,我正在尝试自动化当前手动执行的以下过程: 在VS 2017中,执行发布到文件系统 在web.config中设置设置 对每个环境重复1和2,例如测试、UAT、生产等 将这些文件复制到FTP服务器 登录到安全基础架构,从FTP下载文件,并在IIS目标服务器上复制到位 安全的基础设施被锁定,互联网访问受到限制。FTP被用作将文件移动到该基础结构中的一种方式 在这个问题中,我特别想讨论一些要素;一,二,三 我所面临的困难是,VST似乎设置为将web应用部署到Azure网站或可公开访问的II

通过VSTS,我正在尝试自动化当前手动执行的以下过程:

  • 在VS 2017中,执行发布到文件系统
  • 在web.config中设置设置
  • 对每个环境重复1和2,例如测试、UAT、生产等
  • 将这些文件复制到FTP服务器
  • 登录到安全基础架构,从FTP下载文件,并在IIS目标服务器上复制到位
  • 安全的基础设施被锁定,互联网访问受到限制。FTP被用作将文件移动到该基础结构中的一种方式

    在这个问题中,我特别想讨论一些要素;一,二,三

    我所面临的困难是,VST似乎设置为将web应用部署到Azure网站或可公开访问的IIS中。虽然IIS是我的最终目标,但最初我希望实现一个文件系统部署—类似于VS2017所提供的

    我尝试使用MSBuild创建一个包,使用<代码>/p:WebPublishMethod=Package/p:PackageAsSingleFile=true

    然后使用MSDeploy将包解压缩到文件夹
    MSDeploy.exe-verb:sync-source:package=“package.zip”-dest:contentPath=“content”

    但是,这会导致以下错误源(sitemanifest)和目标(contentPath)与给定操作不兼容

    看起来我可以使用MSBuild和
    /p:DeployOnBuild=true/p:PublishProfile=VSTS
    在构建时部署到文件夹,但在VSTS的结构中这似乎有点尴尬。例如,我必须为每个环境反复构建解决方案

    在将解决方案部署到文件夹中之后,我打算使用VST推送到FTP


    有更好的方法吗?例如VSTS Azure deploy提供了轻松设置连接sting参数的功能。

    您可以通过FTP上载构建/发布任务实现所需的功能

    1-您不必发布到文件系统。 只需基于asp.net应用程序模板创建新的生成定义:

    这将添加您需要构建和打包的任务,并作为将工件发布到放置位置的最后一步

    将其发布到放置位置后,可以通过添加ftp任务继续构建,也可以将ftp任务添加到发布管道。这取决于你

    然后需要在发布工件任务之后添加ftp上载任务,如:

    对于2和3,最好使用发布管道,在其中可以添加多个环境和任务。您可以添加ftp任务,并从将添加到发行版的工件(您的构建)中获取它。也可以使用发布任务更改web.config设置。

    您是否尝试过将web应用部署到IIS服务器的方法()?