在Windows Azure上运行的基于NodeJS的单页面应用程序的持续部署?

时间:2016-01-03 12:08:55

标签: node.js azure github gruntjs continuous-delivery

我试图在Windows Azure上为连续部署单页面应用程序找到一个好的设置。以下是约束条件:

  • 源代码托管在GitHub上。
  • 应用程序必须作为Web应用程序或适用于单页面应用程序的其他Azure服务(即静态html5站点,无需服务器端处理)在Windows Azure上提供。
  • 我正在使用基于NodeJS的构建技术(例如grunt或gulp)尝试各种单页面应用程序架构来生成最终站点。
  • 我使用WebStorm作为Web开发的环境,因此在这种情况下,对Visual Studio和MSBuild的任何依赖都显得很尴尬。
  • 我想在云中设置持续部署,即每次新提交都应该导致自动构建和部署。应该在云中实现自动化。

我已尝试过Windows Azure Web Apps的持续部署功能,但我无法让构建过程按照我的意愿行事。也许有可能调整构建过程,我不确定。

我也研究过AppVeyor,但似乎针对使用MSBuild作为构建平台的.NET项目进行了优化。

我已经开始研究看起来很有希望的travis-ci和circleci了。

我希望找到使用最新技术和云服务的最简单,最自然的方法。你能推荐什么?

2 个答案:

答案 0 :(得分:0)

我认为您缺少的概念是您需要拥有一个管道,可以将代码从一个阶段传递到下一个阶段。

这一切都可以基于Github和Azure完成。这可能是一个示例管道。

  • 当您第一次提交更改时,它将被提交到“测试”分支
  • Github中的webhook调用您的Travis服务器,该服务器将执行您需要的构建步骤,并执行任何初步测试。即确保编译等。
  • 然后将代码与登台分支合并。
  • Azure获取新代码并将其部署到临时Web应用程序。
  • 另一个Github webhook开始启动您的功能和性能测试。
  • 在该阶段,您可能需要手动步骤来授权部署到生产环境。
  • 然后自动或手动将暂存分支与生产分支合并,Azure自动部署。

这显然已经简化了,但它应该让你开始考虑你需要实现的过程。

答案 1 :(得分:0)

如果您想在没有任何服务器端处理的情况下持续部署HTML5单页面应用程序,我认为没有必要使用NodeJS的构建技术来部署静态html5网站。

您可以尝试在Azure旧门户网站上创建HTML5 Empty Web Appset up deployment from source control,请参阅下面的图片并参阅文档https://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/

enter image description here

enter image description here

选项set up deployment from source control位于Azure旧门户网站上的Web应用程序的DASHBOARD标签页的右侧边栏。

enter image description here

然后,您可以在CMD访问Azure WebApp的https://<your azure webapp name>.scm.azurewebsites.net/DebugConsole Kudu工具,您可以在路径site/wwwroot找到静态html5网站的这些网络文件。下图是我对wwwroot的{​​{1}}目录的快照。

enter image description here

如有任何疑虑,请随时告诉我。