如何在不使用DevOps管道任务爆炸的情况下将Spring引导WAR文件部署到Azure Web App



我正在尝试使用Azure pipeline部署任务构建一个Azure DevOps管道,以部署带有嵌入式Tomcat的Springboot Web应用程序,该Tomcat打包为WAR文件。类似这样的东西:

- task: AzureRmWebAppDeployment@4
displayName: 'Azure Web App Deploy: $(studioWebAppName)'
inputs:
azureSubscription: $(azureSubscription)
appType: webAppLinux
WebAppName: $(studioWebAppName)
package: '$(Pipeline.Workspace)/**/studio.war'
RuntimeStack: 'JAVA|11-java11'
StartupCommand: 'java -jar /home/site/wwwroot/studio.war --server.port=80'

然而,部署任务坚持处理WAR文件,并将ito拆包到一个JAR文件和一个包含各种资源和JSP文件的目录中。应用程序将无法工作。

我一直在使用直接FTP上传任务作为解决方法,但刚才我遇到了一个问题,该任务不再工作——我怀疑是因为现在WAR文件正在使用中。

有什么简单的解决方案的建议吗?我不可能是唯一一个有这个问题的人。

我采用的变通方法是:

- task: AzureCLI@2
displayName: Azure CLI Deploy
inputs:
azureSubscription: $(azureSubscription)
scriptType: pscore
scriptLocation: inlineScript
inlineScript: az webapp deploy --name $(studioWebAppName) --type static --src-path $(Pipeline.Workspace)/$(apppath)/build/libs/studio-1.0.war --target-path /home/site/wwwroot/studio.war --resource-group $(myrg)
- task: AzureAppServiceManage@0
inputs:
azureSubscription: $(azureSubscription)
action:  Restart Azure App Service
WebAppName: $(studioWebAppName)

即将war文件部署为静态资产,然后强制重新启动。仍然欢迎更好的答案。

相关内容

  • 没有找到相关文章

最新更新