VSTS如何将已编译的“已发布”应用程序部署到IIS

时间:2018-07-18 14:58:03

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

设置VSTS CI进程。我有一个构建设置和一个发行版。从某种意义上说,它“有效”地将文件正确地放置在IIS服务器上。它不执行的操作是将已发布的文件复制到IIS。它只是复制构建文件。

并确保我在这里使用的术语不正确。在Visual Studio中,构建时会分别构建每个项目。当您“发布”(无论是发布到本地目录还是IIS服务器)时,它会将所有这些文件编译为IIS就绪的适当文件集。

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

我将.net Desktop模板用于构建,并将IIS网站部署模板用于发布定义。

我觉得我缺少一个步骤,但是我正在按照有关如何执行此操作的教程进行操作。但是没有bueno:(

2 个答案:

答案 0 :(得分:0)

关于如何通过google中的TFS / VSTS执行IIS Web部署,有多个教程。

第一件事应该确保您在构建任务中使用了正确的MSBuild Argument。例如,如果要将构建结果打包到一个文件中:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

您可以设置“复制和发布构建工件”来复制要共享的zip包。在此任务中,您可以确定将发布哪些文件/文件夹。

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

  • 创建并运行站点和应用程序池– WinRM – IIS Web应用程序管理
  • 发布我们的应用程序– WinRM – IIS Web应用程序部署

有关详细步骤,您可以参考本教程-IIS web deploy by vsts

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

答案 1 :(得分:0)

如果可以从构建代理访问IIS服务器,则仍然可以使用Web部署发布方法。

/p:DeployOnBuild=true /p:PublishProfile=Staging /p:Password=hdNSWsbuqno7J5uqnwKafwlfNPt1DSco7J5uqnwKafwlfNPt1DSpKHuYgCco7J5 /p:AllowUntrustedCertificate=true

一些文章可以为您提供帮助:

https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/command-line-deployment

https://www.codeproject.com/Articles/1184858/Deploying-a-Web-App-from-a-Command-Line-using-MSBu