es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo implementar un archivo WAR de Spring Boot en Azure Web App sin descomprimirlo utilizando una tarea de canalización de DevOps.

Estoy tratando de construir un pipeline de Azure DevOps para implementar una aplicación web de Springboot con Tomcat integrado, empaquetada como archivo WAR, utilizando una tarea de implementación de Azure Pipeline. Algo como esto:

- tarea: AzureRmWebAppDeployment@4
  displayName: 'Implementar aplicación web de Azure: $(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'

Sin embargo, la tarea de implementación insiste en modificar el archivo WAR y descomprimirlo en un archivo JAR y un directorio que contiene los diferentes recursos y archivos JSP. La aplicación no funciona de esta manera.

He estado utilizando una tarea de carga directa FTP como solución alternativa, pero ahora me he encontrado con un problema en el que esa tarea ya no funciona, sospecho que es porque ahora el archivo WAR está en uso.

¿Alguna sugerencia para una solución sencilla a esto? No puedo ser el único con este problema.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una posible solución es utilizar un script de implementación personalizado en lugar de la tarea AzureRmWebAppDeployment. Esto te daría más control sobre el proceso de implementación y te permitiría implementar el archivo WAR tal cual sin modificaciones.

    Aquí tienes un ejemplo de script de implementación que puedes utilizar:

    - script: |
        az webapp deployment source config-zip \
        --resource-group $(ResourceGroup) \
        --name $(WebAppName) \
        --src $(Pipeline.Workspace)/**/studio.war
      displayName: 'Desplegar archivo WAR'
    

    Este script utiliza Azure CLI para implementar el archivo WAR en la aplicación web. El proceso de implementación es simple y no involucra ninguna modificación del archivo WAR.

    Puedes personalizar este script para incluir cualquier paso adicional que requieras para tu proceso de implementación.

    Para utilizar este script, necesitarás tener Azure CLI instalado en tu agente de compilación y deberás proporcionar los parámetros requeridos como ResourceGroup, WebAppName y Pipeline.Workspace.

    ¡Espero que esto te ayude! Avísame si tienes alguna pregunta.

Comments are closed.