如何从 Visual Studio Team Services 将静态网站部署到 Azure

How to deploy a static website to Azure from Visual Studio Team Services

我有一个现有网站,我想使用 Visual Studio Team ServicesAzure 上部署它。该网站由静态文件组成,没有 ASP.NET 或任何其他内容。

在 Visual Studio Team Services 中,我创建了一个执行 npm install 的构建和一个 gulp 构建。这会生成一个 dist 文件夹,其中包含该网站的所有文件。在 Azure 中,一切都已正确设置(订阅、Web 应用程序...)。

但是,我不确定如何将我的代码推送到 Azure。在 VSTS 的 Release 选项卡中探索选项,似乎总是需要 'artifact',但我只有一堆文件。我需要发布 dist 文件夹中的文件并确保提供 index.html

我该怎么做?

这个问题与 this 一个相关,但是,答案都说明从 Azure 开始,并且没有提到如何使用 Visual Studio Team Services 部署现有代码。

最简单的方法是从源代码管理进行部署,如果您在 Azure 门户中的 "Settings" 下查看您的网站,您可能会看到 "Continuous deployment".

从那里您可以从 Visual Studio 团队服务、Github 等进行部署

每次签入都会被部署,错误的也会被部署,所以您可能还想引入一个暂存环境作为 deployment slot,只要您觉得您的网站准备就绪,您就可以在其中将暂存与生产交换用于生产。

诀窍是自己创建工件,它可以像包含静态网站文件的 zip 文件 一样简单。 zip 文件应作为工件复制到 $(build.artifactstagingdirectory) 目标目录。接下来,您可以使用简单的 Web 应用程序部署任务 将 zip 文件发布到 Azure。如果 index.html 在根目录中,Azure 会很聪明地为它提供服务。

下面是一个有效的构建和部署流程。它假定 gulp 用于构建网站并将构建输出(即静态文件)写入 dist 文件夹。

无需创建工件,另一种解决方案可能是 FTP 在 VSTS 中创建服务端点后进行部署