【发布时间】:2019-07-18 11:04:44
【问题描述】:
我正在尝试通过 ARM 模板将现有的 .war 编译的 java 应用程序 (jhipster) 部署到我的 azure webapp 中。我设法在没有 ARM 模板的情况下手动部署了 .war 文件,并且一切都运行良好,但是直到现在我一直在努力,而且我没有设法通过 ARM 模板让它工作。
对于我的手动 .war 部署的简短背景:我遵循了这里的答案: Can I deploy a jhipster 5.0.0-beta.0 application in azure?
这个问题是我的同事问的,@Peter Pan 的回答简直太棒了!现在我正在尝试制作一个部署脚本,它可以部署我的整个解决方案及其所有服务。
除了必须部署在 wwwroot 中的 .war 文件之外,我实际上还需要部署 web.config(在上面的链接中描述),与 .war 文件位于同一文件夹中,都在 wwwroot 中。我不知道该怎么做,而且我当前的 webapp 部署代码没有在 webapp 主机中复制我的 .war 文件。部署成功,但它只是一个空的默认 web 应用程序,并且该 web 应用程序的文件浏览器/FTP 上不存在 .war 文件。
这是描述我的 webapp 的 JSON:
{
"type": "Microsoft.Web/sites",
"apiVersion": "2016-08-01",
"name": "[variables('webAppName')]",
"location": "West Europe",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('serverfarms'))]"
],
"kind": "app",
"properties": {
"enabled": true,
"hostNameSslStates": [
{
"name": "[concat(variables('webAppName'), '.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Standard"
},
{
"name": "[concat(variables('webAppName'), '.scm.azurewebsites.net')]",
"sslState": "Disabled",
"hostType": "Repository"
}
],
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('serverfarms'))]",
"reserved": false,
"scmSiteAlsoStopped": false,
"clientAffinityEnabled": true,
"clientCertEnabled": false,
"hostNamesDisabled": false,
"containerSize": 0,
"dailyMemoryTimeQuota": 0,
"httpsOnly": false,
"resources": [
{
"apiVersion": "2014-06-01",
"name": "MSDeploy",
"type": "Extensions",
"dependsOn": [
"[concat('Microsoft.Web/Sites/', variables('webAppName'))]",
"[concat('Microsoft.Web/Sites/', variables('webAppName'), '/config/web')]"
],
"properties": {
"packageUri": "[variables('pathToWarFile')]"
}
}
]
}
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
你签出jhipster.tech/azure 了吗?我不使用 Azure,所以我不确定这是否是您正在寻找的
-
感谢您的回答@JonRuddell,但该链接对我没有帮助。 Azure 资源管理器模板指的是通过部署脚本自动部署 Azure 资源。我需要通过这个部署脚本部署一个 .war。 jhipster 的链接描述了一种将应用程序手动部署到 azure 上的方法。
标签: jhipster azure-resource-manager arm-template azure-deployment azure-template