当前位置:  开发笔记 > 后端 > 正文

从VSTS版本管理部署WebSite构建到Azure

如何解决《从VSTS版本管理部署WebSite构建到Azure》经验,为你挑选了2个好方法。

我正在为Visual Studio Team Services新版本管理系统的预览做准备.我的场景是一个经典的网站(ASP.NET 4.5),在VSTS中托管了一个Git repo.构建定义是成功的,如下所示:

在此输入图像描述

它被设置为发布为可由Release Manager拾取的工件,如下所示:

在此输入图像描述

在发布管理器端,我将该工件正确链接,如下所示:

在此输入图像描述

在这里,您可以看到我的环境以及相关的任务(所有3个都是克隆)

在此输入图像描述

当我运行发布时,构建发布很好,它连接到我的订阅但是当它试图找到包文件时,它在输出日志的第101行上有以下错误:

"没有找到使用搜索模式'C:\ a\4fe43dd1a***.zip'部署的文件"

这是完整的输出:

在此输入图像描述

这是我卡住的地方,因为我假设通过VSTS的工件链接应该为我解决此路径.显然我在某个地方错过了一个重要的难题,但我尽可能地遵循了可用的文档.

如果有人有解决方案或能指出我正确的方向,我将不胜感激!

---编辑---

我使用文件选择器来选择Web部署包(见下文).我尝试使用root网站以及bin文件夹.两次尝试都会导致错误,指出:"没有找到使用搜索模式部署的文件'C:\ a\4fe43dd1a\Classic Website Definition\drop\ClassicWebsite\bin'"

在此输入图像描述

---编辑2 ---

我使用以下MSBuildArguments向我的BUILD进程添加了一个MSBuild任务

/p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true

在我的复制/发布工件任务中,我将输出限制为仅复制.zip文件.现在在我的RELEASE过程中,当我导航找到"Web部署包"时,"drop"文件夹为空.这是一个截图:

在此输入图像描述

我想我正走在正确的道路上,我只需要帮助搞清楚我的BUILD任务,以便为我的RELEASE进程生成正确的工件.任何帮助,将不胜感激.



1> Eddie Chen -..:

部署包不会复制到artifacts文件夹.这就是发布管理无法找到包的原因.将"复制和发布构建工件"设置为以下内容可以解决您的问题: VSTS复制和发布工件删除构建步骤



2> Daniel Mann..:

更改$(System.DefaultWorkingDirectory)$(Agent.ReleaseDirectory).工件将放在该文件夹中.我不确切知道$(System.DefaultWorkingDirectory)映射到了什么,但我的印象是它不在代理程序用于发布的文件夹之外.

还要确保已发布的工件包含预期的zip文件 - 如果未创建部署包,或者如果您没有发布包含该包的输出文件夹,显然您将无法在以后发布它.

在构建Web应用程序时,请确保使用包装它的MSBuild参数进行部署打包.这样的事情应该有效:

/p:OutDir=$(build.stagingDirectory) /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有