【发布时间】:2020-10-29 15:29:02
【问题描述】:
我正在尝试在 Windows VM 上构建和部署位于同一存储库中的两个应用程序。
我希望它将所有 Web 应用程序部署到与站点名称匹配的虚拟应用程序中。
我的构建步骤只是一个标准的基本 vsbuild:
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
... standard stuff ...
- task: VSBuild@1
inputs:
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)\WebApp.zip"'
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
这会生成一个名为 webapp.zip 的 zip 文件。查看 zip 文件,它具有以下结构
D_C
-> a
-> 1
-> s
-> app1
-> release
-> netcoreapp2.1
-> PubTmp
-> Out
-> <expected content>
-> app2
-> release
-> netcoreapp2.1
-> PubTmp
-> Out
-> <expected content>
子问题 - 为什么我得到 obj 文件夹而不是 bin 文件夹?
同样,我的发布只是一个带有单个任务“iis web app deploy”的单个任务。现在,我只是将其保留为默认网站。
将部署任务保留为默认设置,我没有获得子文件夹或虚拟应用程序,它会将 app1 转储到网站主机文件夹的根目录中
我尝试定义两个发布任务,将 app1 和 app2 都指定为虚拟应用程序,尽管表面上它似乎可以工作(我得到一个名为 app1 的文件夹和一个名为 app2 的文件夹),这两个文件夹都包含 app1 的代码.
虽然它显然是指 TFS 而不是 devops,但 https://devblogs.microsoft.com/devops/deploying-an-azure-web-site-using-the-new-build-system-in-visual-studio-online/ 完美地描述了我正在尝试做的事情,但似乎没有工作。
【问题讨论】:
-
你能展示你的部署任务吗?
-
buildConfiguration是否设置为Release? -
嗨@Immortal Blue。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this。
标签: iis azure-devops