Dela via


Så här distribuerar du flerspråkiga appar i Azure Spring Apps Enterprise-planen

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för:❌ Basic/Standard ✔️ Enterprise

Den här artikeln visar hur du distribuerar flerspråkiga appar i Azure Spring Apps Enterprise-planen och hur dessa flerspråkiga appar kan använda byggtjänstfunktionerna som tillhandahålls av buildpacks.

Förutsättningar

Distribuera flerspråkiga program i en tjänstinstans

Det här avsnittet gäller för att skapa och distribuera flerspråkiga program när byggtjänsten är aktiverad. Om du inaktiverar byggtjänsten kan du bara distribuera program med en anpassad containeravbildning. Du kan skapa en egen avbildning eller använda en som skapats av en Azure Spring Apps Enterprise-instans. Mer information finns i Distribuera ett program med en anpassad containeravbildning.

Hantera byggare

När du skapar en instans av Azure Spring Apps Enterprise måste du välja en standardbyggare från något av följande språkfamiljeversioner som stöds:

Mer information finns i Language Family Buildpacks for VMware Tanzu.

Dessa buildpacks har stöd för att skapa med källkod eller artefakter för Java-, .NET Core-, Go-, webbstatiska filer, Node.js- och Python-appar. Du kan också se buildpack-versioner när du skapar eller visar en byggare. Och du kan skapa en anpassad byggare genom att ange buildpacks och en stack.

Alla byggare som konfigurerats i en Azure Spring Apps-tjänstinstans visas på sidan Byggtjänst , som du ser i följande skärmbild:

Skärmbild av Azure Portal som visar sidan Byggtjänst med listan Builders markerad.

Välj Lägg till för att skapa en ny byggare. Följande skärmbild visar de resurser som du bör använda för att skapa den anpassade byggaren. OS Stack innehåller Bionic Base, Bionic Full, Jammy Tiny, Jammy Baseoch Jammy Full. Bionic baseras på Ubuntu 18.04 (Bionic Beaver) och Jammy baseras på Ubuntu 22.04 (Jammy Jellyfish). Mer information finns i avsnittet rekommendationer för OS-stack.

Vi rekommenderar att du använder Jammy OS Stack för att skapa din byggare eftersom VMware är inaktuell .Bionic OS Stack

Skärmbild av Azure Portal som visar sidan Lägg till builder med OS Stack och valt buildpack-namn markerat.

Du kan också redigera en anpassad byggare när byggaren inte används i en distribution. Du kan uppdatera buildpacks eller OS Stack, men builder-namnet är skrivskyddat.

Skärmbild av Azure Portal som visar sidan Byggtjänst med ellipsknappen och menyalternativet Redigera builder markerat.

Byggaren är en resurs som kontinuerligt bidrar till dina distributioner. Den innehåller de senaste körningsavbildningarna och de senaste versionerna.

Du kan inte ta bort en byggare när befintliga aktiva distributioner skapas med byggaren. Om du vill ta bort en byggare i det här tillståndet använder du följande steg:

  1. Spara konfigurationen som ny byggare.
  2. Distribuera appar med den nya versionen. Distributionerna är länkade till den nya byggaren.
  3. Migrera distributionerna under föregående byggare till den nya byggaren.
  4. Ta bort den ursprungliga byggaren.

Rekommendationer för OS-stack

I Azure Spring Apps rekommenderar vi att du använder Jammy OS Stack för att skapa din byggare eftersom Bioinic OS Stack den är i linje med utfasningen av VMware. I följande lista beskrivs tillgängliga alternativ:

  • Jammy Tiny: Lämplig för att skapa en minimal avbildning för minsta möjliga storlek och säkerhetsfotavtryck. Precis som när du skapar en Inbyggd Java-avbildning kan den slutliga containeravbildningen bli mindre. De integrerade biblioteken är begränsade. Du kan till exempel inte ansluta till en appinstans för felsökning eftersom det inte finns något shell bibliotek.

    • De flesta Go-appar.
    • Java-appar. Vissa Konfigurationsalternativ för Apache Tomcat, till exempel att ställa in bin/setenv.sh, är inte tillgängliga eftersom Tiny inte har något gränssnitt.
  • Jammy Base: Passar de flesta appar utan inbyggda tillägg.

    • Java-appar och .NET Core-appar.
    • Gå till appar som kräver vissa C-bibliotek.
    • Node.js, Python eller webbservrar utan inbyggda tillägg.
  • Jammy Full: Innehåller de flesta bibliotek och är lämplig för appar med inbyggda tillägg. Den innehåller till exempel ett mer komplett bibliotek med teckensnitt. Om din app förlitar sig på det inbyggda tillägget använder du stacken Full .

    • Node.js- eller Python-appar med inbyggda tillägg.

Mer information finns i Ubuntu Stacks i VMware-dokumentationen.

Hantera containerregistret

Det här avsnittet visar hur du hanterar containerregistret som används av byggtjänsten om du aktiverar byggtjänsten med ditt eget containerregister. Om du aktiverar byggtjänsten med ett Azure Spring Apps-hanterat containerregister kan du hoppa över det här avsnittet.

När du har aktiverat ett användarcontainerregister med byggtjänsten kan du visa och konfigurera registret med hjälp av Azure Portal eller Azure CLI.

Använd följande steg för att visa, lägga till, redigera och ta bort containerregistret:

  1. Öppna Azure Portal.

  2. Välj Containerregister i navigeringsfönstret.

  3. Välj Lägg till för att skapa ett containerregister.

    Skärmbild av Azure Portal som visar sidan Containerregister med knappen Lägg till containerregister.

  4. För ett containerregister väljer du knappen ellips (...) och sedan Redigera för att visa registerkonfigurationen.

    Skärmbild av Azure Portal som visar sidan Containerregister.

  5. Granska värdena på sidan Redigera containerregister .

    Skärmbild av Azure Portal som visar sidan Containerregister med fönstret Redigera containerregister öppet.

  6. Om du vill ta bort ett containerregister väljer du ellipsknappen (...) och väljer sedan Ta bort för att ta bort registret. Om containerregistret används av byggtjänsten kan det inte tas bort.

    Skärmbild av Azure Portal som visar sidan Containerregister med fönstret Redigera containerregister öppen och rutorna Användarnamn och Lösenord markerade.

Byggtjänsten kan använda ett containerregister och kan även ändra det associerade containerregistret. Den här processen är tidskrävande. När ändringen sker skickas alla bygg- och byggresurser under byggtjänstens återskapande och sedan skickas de sista containeravbildningarna till det nya containerregistret.

Använd följande steg för att växla det containerregister som är associerat med byggtjänsten:

  1. Öppna Azure Portal.

  2. Välj Skapa tjänst i navigeringsfönstret.

  3. Välj Refererat containerregister för att uppdatera containerregistret för byggtjänsten.

    Skärmbild av Azure Portal som visar sidan Build Service med det refererade containerregistret markerat.

Skapa och distribuera flerspråkiga program

Du kan skapa och distribuera flerspråkiga program på följande sätt med hjälp av containerregistret:

  • För byggtjänsten med hjälp av det hanterade containerregistret i Azure Spring Apps kan du skapa ett program till en avbildning och sedan distribuera det till den aktuella Azure Spring Apps-tjänstinstansen. Bygget och distributionen körs tillsammans med hjälp az spring app deploy av kommandot .

  • För byggtjänsten med hjälp av ett användarhanterat containerregister kan du skapa ett program i en containeravbildning och sedan distribuera avbildningen till den aktuella Azure Spring Apps Enterprise-instansen och andra instanser. Kommandona för att skapa och distribuera är separata. Du kan använda build-kommandot för att skapa eller uppdatera en version och sedan använda kommandot deploy för att distribuera containeravbildningen till tjänstinstansen.

Mer information finns i avsnittet Skapa tjänst på begäran i Använda Tanzu Build Service.

I följande exempel visas några användbara byggkommandon att använda.

az configure --defaults group=<resource-group-name> spring=<service-name>

az spring build-service build list
az spring build-service build show --name <build-name>
az spring build-service build create --name <build-name> --artifact-path <artifact-path>
az spring build-service build update --name <build-name> --artifact-path <artifact-path>
az spring build-service build delete --name <build-name>

Följande Azure CLI-exempel visar hur du skapar och distribuerar en artefaktfil för två containerregisterscenarier:

  • Azure Spring Apps hanterade containerregister.
  • Användarhanterat containerregister.

Det här exemplet skapar och distribuerar i ett kommando. Följande kommando anger en byggare för att skapa ett program till en containeravbildning och distribuerar sedan programmet direkt till Azure Springs Apps Enterprise-tjänstinstansen.

Om du inte anger byggverktyget används en default byggare.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

Om du distribuerar appen med en artefaktfil använder du --artifact-path för att ange filsökvägen. Både JAR- och WAR-filer är acceptabla.

Om Azure CLI identifierar WAR-paketet som en tunn JAR använder du --disable-validation för att inaktivera validering.

I följande exempel distribueras källkodsmappen till en aktiv distribution med hjälp av parametern --source-path för att ange mappen.

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --source-path <path-to-source-code>

Du kan också konfigurera byggmiljön för att skapa appen. I ett Java-program kan du till exempel ange JDK-versionen med hjälp av BP_JVM_VERSION byggmiljön.

Om du vill ange byggmiljöer använder du --build-env, som du ser i följande exempel. De tillgängliga miljövariablerna för bygget beskrivs senare i den här artikeln.

Följande kommando distribuerar ett program:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --build-env <key1=value1> <key2=value2> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

För varje version kan du också ange byggresurserna, som du ser i följande exempel.

Följande kommando distribuerar ett program:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --build-env <key1=value1> <key2=value2> \
    --build-cpu <build-cpu-size> \
    --build-memory <build-memory-size> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

Standardversionen av cpu-/minnesresursen är 1 vCPU, 2 Gi. Om programmet behöver en mindre eller större mängd minne använder du --build-memory för att ange minnesresurserna, till exempel 500Mi, 1Gi, 2Gioch så vidare. Om programmet behöver en mindre eller större mängd CPU-resurser använder du --build-cpu för att ange CPU-resurserna , till exempel 500m, 1, 2och så vidare. Den maximala cpu-/minnesresursgränsen för en version är 8 vCPU, 16Gi.

Processor- och minnesresurserna begränsas av storleken på byggtjänstagentpoolen. Mer information finns i avsnittet Skapa agentpool i Använd Tanzu Build Service. Summan av resurskvoten för bearbetningsversionen får inte överskrida agentpoolens storlek.

Det parallella antalet bygguppgifter beror på agentpoolens storlek och varje byggresurs. Om byggresursen till exempel är standard 1 vCPU, 2 Gi och agentpoolens storlek är 6 vCPU, 12 Giär det parallella versionsnumret 6.

Andra bygguppgifter blockeras ett tag på grund av resurskvotbegränsningar.

Programmet måste lyssna på port 8080. Spring Boot-program åsidosätter SERVER_PORT att använda 8080 automatiskt.

Språk som stöds för distributioner

I följande tabell visas de funktioner som stöds för varje språk.

Funktion Java Python Nod .NET Core Go Statiska filer Inbyggd Java-avbildning PHP
Applivscykelhantering ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Tilldela slutpunkt ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Azure Monitor ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Färdiga APM-integreringar ✔️
Blå/grön distribution ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Anpassad domän ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Skalning – automatisk skalning ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Skalning – manuell skalning (in/ut, upp/ned) ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Hanterad identitet ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
API-portalen för VMware Tanzu ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Spring Cloud Gateway för VMware Tanzu ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Programkonfigurationstjänst för VMware Tanzu ✔️ ✔️
VMware Tanzu Service Registry ✔️ ✔️
App Live View för VMware Tanzu ✔️ ✔️
Virtuellt nätverk ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Utgående IP-adress ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
E2E TLS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Avancerad felsökning – tråd/heap/JFR-dump ✔️
Ta med din egen lagring ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Integrera tjänstbindning med Resource Connector ✔️ ✔️
Tillgänglighetszon ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Händelser i appens livscykel ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Minskad appstorlek – 0,5 vCPU och 512 MB ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Automatisera appdistributioner med Terraform och Azure Pipeline Task ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Mjuk borttagning ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Interaktiv diagnostikupplevelse (AppLens-baserad) ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
SLA ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Anpassa hälsoavsökningar ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Web Shell-anslutning för felsökning ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ️ ✔️ ✔️
Fjärrfelsökning ✔️

Mer information om konfigurationer som stöds för olika språkappar finns i motsvarande avsnitt senare i den här artikeln.

Begränsningar för java-inbyggda avbildningar

Intern avbildning är en teknik för att kompilera Java-kod i förväg till en intern körbar fil. Inbyggda avbildningar ger olika fördelar, till exempel en omedelbar start och minskad minnesförbrukning. Du kan paketera inbyggda avbildningar i en lätt containeravbildning för snabbare och effektivare distribution. På grund av optimeringen av den stängda världen gäller följande begränsningar :

  • Följande Java-funktioner kräver konfiguration vid körbar byggtid:
    • Dynamisk klassinläsning
    • Reflektion
    • Dynamisk proxy
    • JNI (Java Native Interface)
    • Serialisering
  • Bytecode är inte tillgängligt vid körning längre, så det går inte att felsöka och övervaka med verktyg som är riktade till JVMTI.

Följande funktioner stöds inte i Azure Spring Apps på grund av begränsningen för Java Native Image. Azure Spring Apps kommer att stödja dem när den inbyggda Java-avbildningen och communityn övervinner begränsningen.

Funktion Varför det inte stöds
Azure Monitor GraalVM-byggda interna avbildningar stöder inte JVM-mått.
Skalning – automatisk skalning GraalVM-byggda interna avbildningar stöder inte JVM-mått.
Färdiga APM-integreringar APM Vendor & Buildpack stöder inte intern avbildning.
Hanterad identitet Azure SDK:er stöder inte intern avbildning.
Avancerad felsökning – tråd/heap/JFR-dump GraalVM-byggda inbyggda avbildningar stöder inte tråd/heap/JFR-dump.
Fjärrfelsökning GraalVM Native Image stöder inte fjärrfelsökning.
Lösenordslös anslutning med hjälp av Service Connector Azure Java SDK stöder inte intern avbildning.

Kommentar

I följande olika språkversions- och distributionskonfigurationsavsnitt --build-env innebär det att miljön används i byggfasen. --env innebär att miljön används i körningsfasen.

Vi rekommenderar att du anger språkversionen om standardversionen ändras. Använd till exempel --build-env BP_JVM_VERSION=11.* för att ange Java 11 som JDK-version. För andra språk kan du hämta miljövariabelnamnet i följande beskrivningar för varje språk.

Distribuera Java-program

Buildpack för att distribuera Java-program är tanzu-buildpacks/java-azure.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Tillhandahåller Microsoft OpenJDK. Konfigurerar JVM-versionen. JDK-standardversionen är 17. Stöds för närvarande: JDK 8, 11, 17 och 21. BP_JVM_VERSION --build-env BP_JVM_VERSION=11.*
Runtime env. Konfigurerar om NMT (Java Native Memory Tracking) är aktiverat. Standardvärdet är sant. Stöds inte i JDK 8. BPL_JAVA_NMT_ENABLED --env BPL_JAVA_NMT_ENABLED=true
Konfigurerar detaljnivån för NMT-utdata (Java Native Memory Tracking). Standardvärdet är sammanfattning. Ange till detalj för detaljerade NMT-utdata. BPL_JAVA_NMT_LEVEL --env BPL_JAVA_NMT_ENABLED=summary
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Integrera med Application Insights, Dynatrace, Elastic, New Relic, App Dynamic APM-agent. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Saknas Saknas
Distribuera WAR-paketet med Apache Tomcat eller TomEE. Ange att programservern ska användas. Ställ in på tomcat för att använda Tomcat och tomee för att använda TomEE. Standardvärdet är tomcat. BP_JAVA_APP_SERVER --build-env BP_JAVA_APP_SERVER=tomee
Stöd för Spring Boot-program. Anger om du vill bidra med Stöd för Spring Cloud-bindningar för avbildningen vid byggtillfället. Standardvärdet är falskt. BP_SPRING_CLOUD_BINDINGS_DISABLED --build-env BP_SPRING_CLOUD_BINDINGS_DISABLED=false
Anger om du vill konfigurera Spring Boot-miljöegenskaper automatiskt från bindningar vid körning. Den här funktionen kräver att Spring Cloud-bindningar redan har installerats vid byggtiden eller så gör den ingenting. Standardvärdet är falskt. BPL_SPRING_CLOUD_BINDINGS_DISABLED --env BPL_SPRING_CLOUD_BINDINGS_DISABLED=false
Stöd för att skapa Maven-baserade program från källan. Används för ett projekt med flera moduler. Anger modulen för att hitta programartefakten i. Standardvärdet är rotmodulen (tom). BP_MAVEN_BUILT_MODULE --build-env BP_MAVEN_BUILT_MODULE=./gateway
Stöd för att skapa Gradle-baserade program från källan. Används för ett projekt med flera moduler. Anger modulen för att hitta programartefakten i. Standardvärdet är rotmodulen (tom). BP_GRADLE_BUILT_MODULE --build-env BP_GRADLE_BUILT_MODULE=./gateway
Aktivera konfiguration av etiketter på den skapade avbildningen. Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>
Integrera JProfiler-agenten. Anger om JProfiler-stöd ska integreras. Standardvärdet är falskt. BP_JPROFILER_ENABLED byggfas:
--build-env BP_JPROFILER_ENABLED=true
körningsfas:
--env BPL_JPROFILER_ENABLED=true
BPL_JPROFILER_PORT=<port> (valfritt, standardvärdet är 8849)
BPL_JPROFILER_NOWAIT=true (valfritt. Anger om JVM körs innan JProfiler kopplas. Standardvärdet är sant.)
Anger om JProfiler-stöd ska aktiveras vid körning. Standardvärdet är falskt. BPL_JPROFILER_ENABLED --env BPL_JPROFILER_ENABLED=false
Anger vilken port som JProfiler-agenten lyssnar på. Standardvärdet är 8849. BPL_JPROFILER_PORT --env BPL_JPROFILER_PORT=8849
Anger om JVM körs innan JProfiler kopplas. Standardvärdet är sant. BPL_JPROFILER_NOWAIT --env BPL_JPROFILER_NOWAIT=true
Integrera JRebel-agenten . Programmet ska innehålla en rebel-remote.xml fil. Saknas Saknas
AES krypterar ett program vid byggtiden och dekrypterar det sedan vid starttillfället. AES-nyckeln som ska användas vid bygget. BP_EAR_KEY --build-env BP_EAR_KEY=<value>
AES-nyckeln som ska användas vid körning. BPL_EAR_KEY --env BPL_EAR_KEY=<value>
Integrera AspectJ Weaver-agenten . <APPLICATION_ROOT>/ aop.xml finns och aspectj-weaver.*.jar finns. Saknas Saknas

Distribuera .NET-program

Buildpack för distribution av .NET-program är tanzu-buildpacks/dotnet-core.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Konfigurera .NET Core-körningsversionen. Stöder Net6.0 och Net8.0.
Du kan konfigurera via en runtimeconfig.json - eller MSBuild-projektfil.
Standardkörningen är 6.0.*.
Saknas Saknas
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Integrera med Dynatrace- och New Relic APM-agenterna. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Saknas Saknas
Aktivera konfiguration av etiketter på den skapade avbildningen. Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>

Distribuera Python-program

Buildpack för distribution av Python-program är tanzu-buildpacks/python.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Ange en Python-version. Stöder 3.8.*, 3.9.*, 3.10.*, 3.11.*, 3.12.*. Standardvärdet är 3.10.*
Du kan ange versionen via BP_CPYTHON_VERSION miljövariabeln under bygget.
BP_CPYTHON_VERSION --build-env BP_CPYTHON_VERSION=3.8.*
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Aktivera konfiguration av etiketter på den skapade avbildningen. Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>

Distribuera Go-program

Buildpack för att distribuera Go-program är tanzu-buildpacks/go.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Ange en Go-version. Stöder 1.21.*, 1.22.*. Standardvärdet är 1.21.*.
Go-versionen identifieras automatiskt från appens go.mod-fil . Du kan åsidosätta den här versionen genom att ange BP_GO_VERSION miljövariabeln vid byggtiden.
BP_GO_VERSION --build-env BP_GO_VERSION=1.22.*
Konfigurera flera mål. Anger flera mål för en Go-version. BP_GO_TARGETS --build-env BP_GO_TARGETS=./some-target:./other-target
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Integrera med Dynatrace APM-agenten. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Saknas Saknas
Aktivera konfiguration av etiketter på den skapade avbildningen. Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>

Distribuera Node.js program

Buildpack för att distribuera Node.js program är tanzu-buildpacks/nodejs.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Ange en nodversion. Stöder 16.*, 18.*, 19.*, 20.*. Standardvärdet är 20.*.
Du kan ange nodversionen via en .nvmrc - eller .node-version-fil i programkatalogroten. BP_NODE_VERSION åsidosätter inställningarna.
BP_NODE_VERSION --build-env BP_NODE_VERSION=20.*
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Integrera med Dynatrace, Elastic, New Relic, App Dynamic APM-agent. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Saknas Saknas
Aktivera konfiguration av etiketter på den skapade avbildningen. Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>
Distribuera ett Angular-program med Angular Live Development Server. Ange värden innan du kör ng serve i package.json: ng serve --host 0.0.0.0 --port 8080 --public-host <your application domain name>. Domännamnet för programmet finns på sidan Programöversikt i avsnittet URL. Ta bort protokollet https:// innan du fortsätter. BP_NODE_RUN_SCRIPTS
NODE_ENV
--build-env BP_NODE_RUN_SCRIPTS=build NODE_ENV=development

Distribuera webbserverprogram

Buildpack för att distribuera WebServer-program är tanzu-buildpacks/web-servers.

Mer information finns i Distribuera webbstatiska filer.

Distribuera inbyggda Java-avbildningsprogram (förhandsversion)

Buildpack för att distribuera Java Native Image-program är tanzu-buildpacks/java-native-image.

Du kan distribuera inbyggda Spring Boot-avbildningsprogram med hjälp av buildpacken tanzu-buildpacks/java-native-image . Spring Native har stöd för att kompilera Spring Boot-program till inbyggda körbara filer. Buildpack använder Liberica Native Image Kit (NIK) för att skapa inbyggda avbildningar av Spring Boot-program och dessa program stöds fullt ut.

När du skapar en inbyggd Java-avbildning måste du ange byggmiljön BP_NATIVE_IMAGE till true och minnesresursen för byggminne ska inte vara mindre än 8Gi. Storleken på byggtjänstagentpoolen får inte vara mindre än 4 vCPU, 8 Gi. Mer information finns i avsnittet Skapa agentpool i Använd Tanzu Build Service.

Om du vill skapa den inbyggda avbildningen i en containeravbildning med mindre storlek rekommenderar vi att du använder en byggare med OS-stacken Jammy Tiny . Mer information finns i avsnittet rekommendationer för OS-stack.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Integrera med Bellsoft OpenJDK. Konfigurerar JDK-versionen. Stöds för närvarande: JDK 8, 11, 17 och 21. BP_JVM_VERSION --build-env BP_JVM_VERSION=17
Konfigurera argument för native-image kommandot. Argument som ska skickas direkt till kommandot native-image. Dessa argument måste vara giltiga och korrekt formade eller så misslyckas kommandot native-image. BP_NATIVE_IMAGE_BUILD_ARGUMENTS --build-env BP_NATIVE_IMAGE_BUILD_ARGUMENTS="--no-fallback"
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Ej tillämpbart. Ej tillämpbart.
Aktivera konfiguration av etiketter på den skapade avbildningen Konfigurerar både OCI-angivna etiketter med korta miljövariabelnamn och godtyckliga etiketter med hjälp av en blankstegsavgränsad syntax i en enda miljövariabel. BP_IMAGE_LABELS
BP_OCI_AUTHORS
Se fler miljövariabler här.
--build-env BP_OCI_AUTHORS=<value>
Stöd för att skapa Maven-baserade program från källan. Används för ett projekt med flera moduler. Anger modulen för att hitta programartefakten i. Standardvärdet är rotmodulen (tom). BP_MAVEN_BUILT_MODULE --build-env BP_MAVEN_BUILT_MODULE=./gateway

Det finns vissa begränsningar för Java Native Image. Mer information finns i avsnittet begränsningar för java-inbyggda avbildningar .

Distribuera PHP-program

Buildpack för distribution av PHP-program är tanzu-buildpacks/php.

Tanzu PHP buildpack är endast kompatibel med Full OS Stack. Vi rekommenderar att du använder en byggare med OS-stacken Jammy Full . Mer information finns i avsnittet rekommendationer för OS-stack.

I följande tabell visas de funktioner som stöds i Azure Spring Apps:

Funktionsbeskrivning Kommentar Miljövariabel Förbrukning
Ange PHP-versionen. Konfigurerar PHP-versionen. Stöds för närvarande: PHP 8.1.*, 8.2.*och 8.3.*. Standardvärdet är 8.1.* BP_PHP_VERSION --build-env BP_PHP_VERSION=8.1.*
Lägg till CA-certifikat i systemförtroendearkivet vid build och runtime. Se avsnittet Konfigurera CA-certifikat för appversioner och distributioner i Konfigurera APM-integrering och CA-certifikat. Saknas Saknas
Integrera med Dynatrace, New Relic, App Dynamic APM-agent. Se Så här konfigurerar du APM-integrerings- och CA-certifikat. Saknas Saknas
Välj en webbserver. Inställningsalternativen är php-server, httpd och nginx. Standardvärdet är php-server. BP_PHP_SERVER --build-env BP_PHP_SERVER=httpd
Konfigurera Webbkatalog. När webbservern är HTTPD eller NGINX är webbkatalogen som standard htdocs. När webbservern är den inbyggda PHP-servern är webbkatalogen som standard /workspace. BP_PHP_WEB_DIR --build-env BP_PHP_WEB_DIR=htdocs

Nästa steg