Snabbstart: Distribuera en artefaktfil till Azure Container Apps (förhandsversion)

I den här snabbstarten lär du dig att distribuera en containerapp från en fördefinierad artefaktfil. Exemplet i den här artikeln distribuerar ett Java-program med hjälp av en JAR-fil, som innehåller en Java-specifik manifestfil. Ditt jobb är att skapa en webb-API-tjänst för serverdelen som returnerar en statisk samling musikalbum. När du har slutfört den här snabbstarten kan du fortsätta till Kommunikation mellan mikrotjänster för att lära dig hur du distribuerar ett klientdelsprogram som anropar API:et.

Följande skärmbild visar utdata från den album-API-tjänst som du distribuerar.

Skärmbild av svar från api-slutpunkten för album.

Förutsättningar

Krav Instruktioner
Azure-konto Om du inte har något skapar du ett konto kostnadsfritt. Du behöver behörigheten Deltagare eller Ägare för Azure-prenumerationen för att kunna fortsätta.

Mer information finns i Tilldela Azure-roller med hjälp av Azure Portal.
GitHub-konto Skaffa en gratis.
git Installera git
Azure CLI Installera Azure CLI.
Java Installera JDK, rekommenderar 17 eller senare
Maven Installera Maven.

Ställ in

Om du vill logga in på Azure från CLI kör du följande kommando och följer anvisningarna för att slutföra autentiseringsprocessen.

az login

Kör uppgraderingskommandot för att säkerställa att du kör den senaste versionen av CLI.

az upgrade

Installera eller uppdatera sedan Azure Container Apps-tillägget för CLI.

Om du får fel om saknade parametrar när du kör az containerapp kommandon i Azure CLI eller cmdletar från modulen Az.App i Azure PowerShell kontrollerar du att den senaste versionen av Azure Container Apps-tillägget är installerad.

az extension add --name containerapp --upgrade

Kommentar

Från och med maj 2024 aktiverar Azure CLI-tillägg inte längre förhandsversionsfunktioner som standard. Om du vill komma åt förhandsversionsfunktioner för Container Apps installerar du containerapptillägget med --allow-preview true.

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

Nu när det aktuella tillägget eller modulen har installerats registrerar du Microsoft.App namnrymderna och Microsoft.OperationalInsights .

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

Skapa miljövariabler

Nu när azure CLI-installationen är klar kan du definiera de miljövariabler som används i hela den här artikeln.

Definiera följande variabler i bash-gränssnittet.

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

Om det behövs kan du fråga efter ditt prenumerations-ID.

az account list --output table

Förbereda GitHub-lagringsplatsen

Börja med att klona exempellagringsplatsen.

Använd följande git-kommando för att klona exempelappen till mappen code-to-cloud :

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

Skapa en JAR-fil

Kommentar

Java-exemplet stöder endast en Maven-version, vilket resulterar i en körbar JAR-fil. Versionen använder standardinställningarna eftersom det inte går att skicka in miljövariabler.

Skapa projektet med Maven.

mvn clean package -DskipTests

Köra projektet lokalt

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

Kontrollera att programmet körs genom att öppna en webbläsare och gå till http://localhost:8080/albums. Sidan returnerar en lista över JSON-objekten.

Distribuera artefakten

Skapa och distribuera din första containerapp från din lokala JAR-fil med containerapp up kommandot .

Det här kommandot:

  • Skapar resursgruppen
  • Skapar ett Azure Container Registry
  • Skapar containeravbildningen och push-överför den till registret
  • Skapar Container Apps-miljön med en Log Analytics-arbetsyta
  • Skapar och distribuerar containerappen med hjälp av en offentlig containeravbildning

Kommandot up använder Docker-filen i roten på lagringsplatsen för att skapa containeravbildningen. Instruktionen EXPOSE i Docker-filen definierar målporten. En Docker-fil krävs dock inte för att skapa en containerapp.

Kommentar

Obs! När du använder containerapp up i kombination med en Docker-mindre kodbas använder du parametern --location så att programmet körs på en annan plats än USA, östra.

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

Verifiera distributionen

Kopiera FQDN till en webbläsare. Från webbläsaren går du till /albums slutpunkten för det fullständiga domännamnet.

Skärmbild av svar från api-slutpunkten för album.

Distribuera en WAR-fil

Du kan också distribuera containerappen från en WAR-fil.

Rensa resurser

Om du inte kommer att fortsätta att använda det här programmet kan du ta bort Azure Container Apps-instansen och alla associerade tjänster genom att ta bort resursgruppen.

Följ de här stegen för att ta bort de resurser som du skapade:

az group delete \
  --resource-group $RESOURCE_GROUP

Dricks

Har du problem? Meddela oss på GitHub genom att öppna ett problem i Azure Container Apps-lagringsplatsen.

Nästa steg