【问题标题】:How to deploy a Spring boot WAR file to Azure Web App without exploding using a DevOps Pipeline task如何使用 DevOps Pipeline 任务将 Spring Boot WAR 文件部署到 Azure Web App 而不会爆炸
【发布时间】:2022-01-23 22:02:51
【问题描述】:

我正在尝试使用 Azure 管道部署任务构建 Azure DevOps 管道,以部署 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 文件正在使用中。

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

【问题讨论】:

    标签: java spring-boot jsp war azure-pipelines-tasks


    【解决方案1】:

    如果这对其他人有帮助,我采用的解决方法是:

          - 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文件部署为静态资产,然后强制重启。仍然欢迎更好的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-04
      • 2015-06-13
      • 2020-11-07
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多