VSTS 执行 web 部署成功,但网站不工作

Posted

技术标签:

【中文标题】VSTS 执行 web 部署成功,但网站不工作【英文标题】:VSTS performs web deploy successful, but website does not work 【发布时间】:2018-01-16 12:12:23 【问题描述】:

我正在尝试让 Visual Studio Team Services (VSTS) 执行我的应用程序的 Web 部署。根据 VSTS UI,网络部署是成功的,但是当我浏览部署的网站时,它会显示默认的 IIS 屏幕(“欢迎 - IIS”)。

这是我在构建管道中的发布步骤:

这是我的发布定义:

这是生成的部署文件夹:

Build.log(带有替换值)-https://drive.google.com/file/d/1y6q2Cjr1gxBVMcHeh6n_r7qu-JpJFSyC/view

我是否需要在发布管道中添加一个额外的步骤来提取 .zip 文件?

【问题讨论】:

你需要在这里解决你的问题。首先查明 IIS 中的问题,然后找出您在 VSTS 中做错了什么(如果有的话)。 如果没有看到您是如何配置 IIS Web App Deploy 的,我无法给您一个明确的答案,但我敢打赌,问题在于该任务。根据您的输出,您似乎将任务指向了一个目录而不是 zip 文件。 能否通过将变量system.debug 值添加为true 来显示详细的发布日志? 感谢您的意见。我添加了 IIS Web 应用程序部署配置以及详细的发布日志。但是,我确实替换了日志文件中的一些用户 + 公司特定值。 【参考方案1】:

您不需要添加额外的步骤来提取您的 zip,但您需要告诉 IIS Web App Deploy 任务来部署您的 zip 文件而不是文件夹。您已为 Package or Folder 输入指定了一个文件夹,因此任务正在按照您的指示执行,部署指定的文件夹。

如果您的构建工件中只有一个 zip 文件,则此字段的默认值 $(System.DefaultWorkingDirectory)\**\*.zip 将提取您的 zip 文件并正确部署它。如果您的构建工件中有多个 zip 文件,则需要指定 zip 文件的完整路径才能进行部署。

【讨论】:

我会将其标记为答案,因为它是实际解决方案的一部分。部署的工件(所有 .zip 文件),每个都代表我的 .sln 文件中的一个项目。这个答案引导了我的方向,让我的网站正常运行。

以上是关于VSTS 执行 web 部署成功,但网站不工作的主要内容,如果未能解决你的问题,请参考以下文章

如何将 VSTS 上的构建配置为 FTP 部署

VSTS Azure web 部署不同的文件夹

VSTS Web Deploy参数产生错误

Azure Devops (VSTS) 代理池和部署池之间的区别

如何使用服务挂钩从VSTS触发内部部署jenkins作业

将存储库从VSTS帐户克隆到不同的TFS帐户,并执行提取以进行更新