我试图通过ARM模板将现有的.war编译的Java应用程序(jhipster)部署到我的Azure Web应用程序中。我设法在没有ARM模板的情况下手动部署了.war文件,并且一切正常,但是直到现在,这仍然很费劲,我还没有设法通过ARM模板来使其工作。
对于我的.war部署的简短背景:我遵循以下答案: Can I deploy a jhipster 5.0.0-beta.0 application in azure?
这个问题是我的工作同事提出的,@ Peter Pan的回答非常好!现在,我正在尝试制作一个部署脚本,该脚本可以部署整个解决方案及其所有服务。
除了必须在wwwroot中部署的.war文件之外,我实际上还需要在与.war文件相同的文件夹中部署web.config(在上面的链接中进行了介绍),两者都位于wwwroot中。我不知道该怎么办,而且我当前的Webapp部署代码未在Webapp主机中复制.war文件。部署成功,但是它只是一个空的默认Web应用程序,该Web应用程序的文件浏览器/ FTP上不存在.war文件。
这是描述我的Web应用程序的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')]"
}
}
]
}
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
您需要它告诉巫婆存储库中的应用程序以提取应用程序文件。为此,您可以使用GitHub,Azure DevOps或任何其他存储库。如果存储库受保护,则需要更多设置。
其他解决方案是使用AzureDev Ops部署模板,以及部署teplate释放应用程序时。
我希望这对您有帮助