Condividi tramite


Guida introduttiva: Distribuire un file di artefatto in App contenitore di Azure (anteprima)

In questa guida introduttiva si apprenderà come distribuire un'app contenitore da un file di artefatto predefinito. L'esempio in questo articolo distribuisce un'applicazione Java usando un file JAR, che include un file manifesto specifico di Java. Si ha l'incarico di creare un servizio API Web back-end che restituisce una raccolta statica di album musicali. Dopo aver completato questa guida introduttiva, è possibile continuare con Comunicazione tra microservizi in App contenitore di Azure per ottenere informazioni su come distribuire un'applicazione front-end che chiama l'API.

Lo screenshot seguente mostra l'output dell'app del servizio API album da distribuire.

Screenshot della risposta dell'endpoint API album.

Prerequisiti

Requisito Istruzioni
Account di Azure Se non si dispone di un account, crearne uno gratuitamente. Per continuare, è necessaria l'autorizzazione collaboratore o proprietario per la sottoscrizione di Azure.

Per informazioni dettagliate, fare riferimento ad Assegnare ruoli di Azure usando il portale di Azure.
Account GitHub È possibile ottenerlo gratuitamente.
git Installare Git
Interfaccia della riga di comando di Azure Installare l'interfaccia della riga di comando di Azure.
Java Installare JDK, versione consigliata 17 o versione successiva
Maven Installare Maven.

Attrezzaggio

Per accedere ad Azure dall'interfaccia della riga di comando, eseguire il comando seguente e seguire le istruzioni per completare il processo di autenticazione.

az login

Assicurarsi di eseguire l'ultima versione dell'interfaccia della riga di comando eseguire il comando di aggiornamento.

az upgrade

Installare o aggiornare quindi l'estensione App contenitore di Azure per l'interfaccia della riga di comando.

Se si ricevono errori relativi ai parametri mancanti quando si eseguono comandi az containerapp nell'interfaccia della riga di comando di Azure o nei cmdlet del modulo Az.App in Azure PowerShell, assicurarsi di avere installato la versione più recente dell'estensione App contenitore di Azure.

az extension add --name containerapp --upgrade

Nota

A partire da maggio 2024, le estensioni dell'interfaccia della riga di comando di Azure non abilitano più le funzionalità di anteprima per impostazione predefinita. Per accedere alle funzionalità di anteprima di App contenitore, installare l'estensione App contenitore con --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Ora che l'estensione o il modulo corrente è installato, registrare gli spazi dei nomi Microsoft.App e Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Creare variabili di ambiente

Dopo aver completato la configurazione dell'interfaccia della riga di comando di Azure, è possibile definire le variabili di ambiente usate in questo articolo.

Definire le variabili seguenti nella shell Bash.

RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
SUBSCRIPTION=<YOUR_SUBSCRIPTION_ID>

Se necessario, è possibile eseguire una query per l'ID sottoscrizione.

az account list --output table

Preparare il repository GitHub

Iniziare clonando il repository di esempio.

Usare il comando Git seguente per clonare l'app di esempio nella cartella code-to-cloud:

git clone https://github.com/azure-samples/containerapps-albumapi-java code-to-cloud
cd code-to-cloud

Compilare un file JAR

Nota

L'esempio Java supporta solo una compilazione Maven, che genera un file JAR eseguibile. La compilazione usa le impostazioni predefinite perché il passaggio delle variabili di ambiente non è supportato.

Compilare il progetto con Maven.

mvn clean package -DskipTests

Eseguire il progetto in locale

java -jar target\containerapps-albumapi-java-0.0.1-SNAPSHOT.jar

Per verificare che l'applicazione sia in esecuzione, aprire un browser e passare a http://localhost:8080/albums. La pagina restituisce un elenco degli oggetti JSON.

Distribuire l'artefatto

Compilare e distribuire la prima app contenitore dal file JAR locale con il comando containerapp up.

Questo comando:

  • Crea il gruppo di risorse
  • Crea un'istanza di Registro Azure Container
  • Compila l'immagine del contenitore e ne esegue il push nel registro
  • Crea un ambiente di App contenitore con un'area di lavoro Log Analytics
  • Crea e distribuisce l'app contenitore usando un'immagine del contenitore pubblica

Il comando up usa il file Docker nella radice del repository per compilare l'immagine del contenitore. L'istruzione EXPOSE nel file Docker definisce la porta di destinazione. Un file Docker, tuttavia, non è necessario per compilare un'app contenitore.

Nota

Nota: quando si usa containerapp up in combinazione con una codebase senza Docker, usare il parametro --location in modo che l'applicazione venga eseguita in una località diversa dagli Stati Uniti orientali.

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --artifact ./target/containerapps-albumapi-java-0.0.1-SNAPSHOT.jar \
  --ingress external \
  --target-port 8080 \
  --subscription $SUBSCRIPTION

Verificare la distribuzione

Copiare il nome di dominio completo in un Web browser. Dal Web browser passare all'endpoint /albums del nome di dominio completo.

Screenshot della risposta dell'endpoint API album.

Distribuire un file WAR

È anche possibile distribuire l'app contenitore da un file WAR.

Pulire le risorse

Se non si intende continuare a usare questa applicazione, è possibile eliminare l'istanza di App contenitore di Azure e tutti i servizi associati rimuovendo il gruppo di risorse.

Per rimuovere le risorse create, seguire questa procedura:

az group delete \
  --resource-group $RESOURCE_GROUP

Suggerimento

Problemi? Segnalare i problemi su GitHub aprendo un ticket nel repository App contenitore di Azure.

Passaggi successivi