Hilla Documentation

Deploying a Hilla Application to Azure Cloud

Learn how to deploy your Hilla application to Microsoft’s Azure cloud.

This tutorial shows you how to deploy a Hilla application to Microsoft’s Azure cloud. Azure offers a 30-day free trial that includes 12 months of free commercial services. You can find details of their free and commercial services from the Azure website.

Note
Azure account required
To complete this tutorial, you need an Azure account. You can sign up at https://signup.azure.com/.

Step 1: Install the Azure CLI

You can find installation instructions for different platforms in the Azure CLI documentation.

Step 2: Download a Starter App

Download a minimal Hilla project and unpack the downloaded zip into a folder on your computer.

npx @vaadin/cli init --hilla my-app

Step 3: Add the Azure Plugin

Open your pom.xml file and add the following section in the <plugins> tag in the <build> section:

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.2.3</version>
</plugin>

Step 4: Create a Production Build

Open the project directory from a terminal window, and enter the following command to generate a JAR file of your application:

mvn package -Pproduction

Step 5: Configure Your Application

From the terminal window, enter the following command:

mvn azure-webapp:config

This command authenticates you with Azure via the browser, assuming you are not already logged in with the Azure CLI. You are then prompted with certain options. You can select the following:

  1. <create> when asked to choose a Java SE Web App.

  2. Linux when asked to choose an OS.

  3. Java 11 for the Java version

  4. F1 for the pricingTier

  5. Enter Y on your keyboard to confirm

Step 6: Deploy Your Application

Enter the following command to deploy your app:

mvn azure-webapp:deploy

You might be required to authenticate again in the browser. Once authenticated, your application is deployed to Azure and you should see your application URL in the logs as in the following screenshot.