Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
¿Cómo funciona la implementación de Jetty en Azure App Service?

Tengo una aplicación web de Java que ejecuto en una instancia de Azure App Service. Para implementarlo, uso un repositorio de Bitbucket con un archivo .war dentro. Cuando confirmo un nuevo archivo .war en este repositorio, se supone que el servicio lo implementará automáticamente. Sin embargo, la mayoría de las veces, tengo que reiniciar, volver a implementar o incluso cargar el archivo .war a través de FTP para que la implementación se complete con éxito.

Tengo una sola instancia de Jetty que reside en este servicio, por lo tanto, mi archivo .war se llama ROOT.war . AFAIK, cuando se carga en el servicio (ya sea a través de Bitbucket o FTP), este archivo .war debe desarchivarse en el mismo directorio, que es /site/wwwroot/webapps . En mi caso, esto no sucede. La aplicación web funciona con el archivo ROOT.war solo dentro de /site/wwwroot/webapps . Y de vez en cuando, obtengo una carpeta ROOT en /site/wwwroot/webapps , con dos archivos predeterminados index.jsp y background.png . No tengo la menor idea de por qué aparece la carpeta ROOT con estos archivos predeterminados. La única pista que tengo es que sucedió un par de veces después de que cambié una variable de entorno.

Además, después de que aparece la carpeta ROOT con los archivos del servidor vacíos, la única forma en que puedo volver a implementar la aplicación es eliminar manualmente esta carpeta ROOT a través de FTP o la consola provista en el portal, y solo entonces mi solicitud de reimplementación tiene éxito con mi Aplicación Web.

Entonces, si no está lo suficientemente claro, mi pregunta es ¿qué está pasando aquí? No puedo entender nada de los comportamientos que estoy enfrentando. Siento que estoy usando este servicio de Azure a ciegas y no puedo arreglar nada cuando algo sale mal. ¿Hay algún recurso que pueda explicar lo que sucede en segundo plano cuando se implementa una aplicación web?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Por lo tanto, las aplicaciones de API de Azure son un PAAS, no un servicio IAAS. Puede acceder a la plataforma PaaS yendo a yoursite.scm.azurewebsites.net , donde puede explorar el sistema de archivos en CMD o Powershell, y puede ver los procesos en ejecución. Puede sentirse como si estuviera en una sola VM, pero no es así. Los datos que ve aquí se replican en las instancias de su aplicación API. Puede controlar cuántas instancias tiene escalando su aplicación API.

Comúnmente he visto su problema con la implementación, luego ROOT está vacío (trabajando internamente para ver esto solucionado ...). El mejor método que funciona siempre para mí es detener su aplicación API, DESCOMPRIMIR manualmente su ROOT.war. Mueva los archivos a /ROOT/, luego inicie su aplicación API.

Simplemente puede colocar ROOT.war y dejar que el sistema lo descomprima cuando lo vuelva a encender, pero esto a veces puede conducir a ese directorio ROOT vacío y luego requerir otro reinicio.

Todo esto me hace mudarme a Spring-Boot en su lugar. No es necesario desembalar. Simplemente configure su web.config y suelte el archivo jar.

https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-java-custom-upload#springboot

about 4 years ago · Santiago Trujillo Denunciar

0

Yo tuve el mismo problema. La solución es llamar al punto final después de la implementación.

  1. Detenga el servicio de aplicaciones de Azure.
  2. Implemente el artefacto ROOT.war en la carpeta /webapps.
  3. Inicie el Servicio de aplicaciones de Azure.
  4. Llame a la URL de App Service una vez.

Los cuatro pasos son muy importantes e inician el proceso que mencionaste antes (la implementación automática).

Perdí mucho tiempo averiguando cuál era el problema.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda