设置VSTS CI进程。我有一个构建设置和一个发行版。从某种意义上说,它“有效”地将文件正确地放置在IIS服务器上。它不执行的操作是将已发布的文件复制到IIS。它只是复制构建文件。
并确保我在这里使用的术语不正确。在Visual Studio中,构建时会分别构建每个项目。当您“发布”(无论是发布到本地目录还是IIS服务器)时,它会将所有这些文件编译为IIS就绪的适当文件集。
换句话说,我希望有一个webconfig和bin目录。我得到的是解决方案中每个项目都有自己的bin的目录。
我将.net Desktop模板用于构建,并将IIS网站部署模板用于发布定义。
我觉得我缺少一个步骤,但是我正在按照有关如何执行此操作的教程进行操作。但是没有bueno:(
答案 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包。在此任务中,您可以确定将发布哪些文件/文件夹。
一旦您的软件包准备就绪,我们将完成两个步骤来部署应用程序:
有关详细步骤,您可以参考本教程-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://www.codeproject.com/Articles/1184858/Deploying-a-Web-App-from-a-Command-Line-using-MSBu