如何使用WAR文件将Java应用程序部署到Azure云服务(而非VM或App Service)?

时间:2016-08-04 14:14:17

标签: java maven azure azure-cloud-services

我需要在Azure Cloud Service上部署我的Java应用程序。我不想要使用Azure VM管理自己的计算机所带来的额外开销,这是一个IaaS,我也不想使用App Service,因为每台计算机的最大核心数是4-我的应用程序非常耗费计算量我希望每个实例至少使用16个核心,Azure Cloud Services提供这些核心(D5v2实例)。

我的构建系统是Maven,我想使用像Codeship这样的东西构建我的.war并将其部署到Azure云服务(而不是使用Azure Eclipse SDK手动发布到Azure云服务)。我在Azure文档上花了好几个小时,但还没有找到任何方法。(Azure App Service有一个简单的上传战争来部署'模型。我不知道为什么同样不适用于云服务:https://azure.microsoft.com/en-in/documentation/articles/web-sites-java-get-started/)。

2 个答案:

答案 0 :(得分:0)

请记住,云服务是Azure的原始部署机制,可追溯到2010年(如果您想要计算生产前的日期,可以使用2009年)。 .cspkg格式与以往几乎相同。 Web Apps部署机制完全不同。

Eclipse(在Windows上)有一个特定的插件可用于构建.cspkg,然后您可以通过PowerShell或CLI自动部署。

或者,您可以将.war文件捆绑在Visual Studio生成的.cspkg中,然后在`OnStart()中启动。同样,您可以从脚本自动部署 - 无需直接从IDE中发布。

此外:没有什么可以阻止您从自动化过程中将.war文件推送到Blob存储(或其他地方),然后向您的应用发送某种类型的消息,让它知道更新自身。此时,没有重新部署.cspkg - 相反,它只是将新的.war下载到正在运行的Web / worker实例并重新启动java进程。

答案 1 :(得分:0)

@DylanColaco,正如@DavidMakogon所说,你可以为Eclipse或IntelliJ IDEA安装名为azure-tools-for-java的插件,将war文件作为web / worker角色实例部署到云服务中。

还有一个官方tutorial,展示了如何开始。

作为参考,您可以参考以下第9频道的文章列表和非常有用的视频。