Azure devops VSTS如何部署已编译的;出版;应用程序到IIS

Azure devops VSTS如何部署已编译的;出版;应用程序到IIS,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,设置VSTS CI进程。我有一个构建设置和一个版本。它“工作”的意义在于它将文件正确地放在IIS服务器上。它没有做的是将发布的文件复制到IIS。它只是复制构建文件 为了确保我没有使用错误的术语。在VisualStudio中,构建时,它会单独构建每个项目。当您“发布”(无论是到本地目录还是到IIS服务器)时,它会将所有这些文件编译成一组适合IIS的文件 换句话说,我希望只有一个webconfig和bin目录。我得到的是解决方案中每个项目的一个目录,它有自己的bin 我将.net桌面模板用于生成,I

设置VSTS CI进程。我有一个构建设置和一个版本。它“工作”的意义在于它将文件正确地放在IIS服务器上。它没有做的是将发布的文件复制到IIS。它只是复制构建文件

为了确保我没有使用错误的术语。在VisualStudio中,构建时,它会单独构建每个项目。当您“发布”(无论是到本地目录还是到IIS服务器)时,它会将所有这些文件编译成一组适合IIS的文件

换句话说,我希望只有一个webconfig和bin目录。我得到的是解决方案中每个项目的一个目录,它有自己的bin

我将.net桌面模板用于生成,IIS网站部署模板用于发布定义


我觉得我在这方面错过了一步,但我一直在遵循如何做到这一点的教程。但是没有bueno:(

关于如何在google中通过TFS/VST执行IIS web部署,有多个教程

首先,应确保在生成任务中正确使用了MSBuild参数。例如,如果要将生成结果打包到单个文件:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
您可以设置复制和发布生成构件以复制要共享的zip包。在此任务中,您可以确定将发布哪些文件/文件夹

一旦您的软件包准备就绪,我们将执行两个步骤来部署应用程序:

  • 创建并运行站点和应用程序池–WinRM–IIS Web应用程序管理
  • 发布我们的应用程序–WinRM–IIS Web应用程序部署
有关步骤的详细信息,请参阅本教程--


此外,您还可以为多个web应用项目创建发布配置文件(xxxx.pubxml)。使用发布文件发布web应用。确保发布文件名相同。在生成定义中,指定发布文件:
“/p:DeployOnBuild=true/p:PublishProfile=xxxx”

如果可以从生成代理访问IIS服务器,则仍然可以使用web部署发布方法

/p:DeployOnBuild=true /p:PublishProfile=Staging /p:Password=hdNSWsbuqno7J5uqnwKafwlfNPt1DSco7J5uqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true
一些文章可以帮助您:


您在生成步骤中使用的详细MSbuild参数是什么?您有多个web项目吗?它们是在一个解决方案中还是在多个解决方案中?抱歉,我最近无法处理此问题。我想我很快在下面尝试了您的解决方案,但出现了一个生成错误。因此我暂时不使用它。对于这样的解决方案,这太复杂了一个简单的工作流程。但这是你的MS。