We welcome user feedback and feature requests!

Improve Java site deployments

Deploying a Java application to Azure for the first time is not bad, but incremental updates are very painful. The basic functionality works, but it involved multiple steps that really shouldn't be there.

1. Every time that you want to deploy a WAR file, you have to delete the application's exploded directory (ROOT, for example). In order to do this properly, you have to stop the server first. You should be able to simply replace the WAR file (ROOT.war, for example), and have Tomcat take care of updating the application. If you have an application that is large or has a lot of files this process can take your application out of service for a long time (20+ minutes to delete all the files over FTP in my case).

2. There is no easy way to redeploy/restart Tomcat without taking the service out completely. When updating certain classes that may be loaded in memory, you may need to trigger a Tomcat redeploy.

3. When deploying WAR files over GIT (or any of the other deployment methods), it looks like Azure SOMETIMES attempts to have Tomcat deploy the newly uploaded file before it is finished uploading. This results in a partial application deploy and requires to you to restart the server anyway to get it to load properly.

Deploying exploded WAR files via a repository seems to work OK, but classes don't always get reloaded if they change.

4. The Catalina and other tomcat generated logs seem to be locked by the OS (even for reading), and are unavailable via FTP until the site is stopped. This makes debugging issues very difficult, as errors can't be read while the server is running.

437 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Nick Kwiatkowski shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    Hello all,

    We’re happy to mark this item as complete! Please see the details below.

    WarDeploy now works for both App Service on Windows and App Service Linux.

    Details for WarDeploy:
    https://docs.microsoft.com/en-us/azure/app-service/app-service-deploy-zip
    https://github.com/projectkudu/kudu/wiki/Deploying-WAR-files-using-wardeploy

    Getting started with Java on App Service on Linux
    https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-java

    Getting started with Java on App Service on Windows
    https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-java

    Also, see the GA announcement for Tomcat and Java SE on App Service:
    https://azure.microsoft.com/en-us/blog/general-availability-of-tomcat-and-java-se-on-app-service-on-linux/

    Thanks,
    Oded

    9 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...

      Feedback and Knowledge Base