Megosztás a következőn keresztül:


Java Spring Boot-alkalmazások üzembe helyezése az Azure Container Appsben

Ez a cikk bemutatja, hogyan helyezhet üzembe Java Spring Boot-alkalmazást a Microsoft Entra-fiók által az Azure Container Appsbe való bejelentkezéssel.

Ez a cikk feltételezi, hogy az alábbi cikkek egyikét csak a Helyi futtatás lapon fejezte be, és most az Azure-ban szeretné üzembe helyezni. Ezek az utasítások ugyanazok, mint az alábbi cikkek üzembe helyezése az Azure-ban lapon:

Előfeltételek

A Spring projekt előkészítése

A projekt előkészítéséhez kövesse az alábbi lépéseket:

  1. A projekt létrehozásához használja a következő Maven-parancsot :

    mvn clean verify
    
  2. Futtassa helyileg a mintaprojektet az alábbi paranccsal:

    mvn spring-boot:run
    

Beállítás

Ha a parancssori felületről szeretne bejelentkezni az Azure-ba, futtassa a következő parancsot, és kövesse az utasításokat a hitelesítési folyamat befejezéséhez.

az login

A parancssori felület legújabb verziójának futtatásához futtassa a frissítési parancsot.

az upgrade

Ezután telepítse vagy frissítse az Azure Container Apps bővítményt a parancssori felülethez.

Ha hibaüzenetet kap a hiányzó paraméterekről, amikor parancsokat futtat az containerapp az Azure CLI-ben, győződjön meg arról, hogy telepítve van az Azure Container Apps bővítmény legújabb verziója.

az extension add --name containerapp --upgrade

Feljegyzés

2024 májusától kezdődően az Azure CLI-bővítmények alapértelmezés szerint nem engedélyezik az előzetes verziójú funkciókat. A Container Apps előzetes verziójú funkcióinak eléréséhez telepítse a Container Apps bővítményt a következővel --allow-preview true: .

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

Az aktuális bővítmény vagy modul telepítése után regisztrálja a névtereket és Microsoft.OperationalInsights a Microsoft.App névtereket.

Feljegyzés

Az Azure Container Apps-erőforrások át lettek migrálva a Microsoft.Web névtérből a Microsoft.App névtérbe. További részletekért tekintse meg a Névtér 2022 . márciusi migrálását a Microsoft.Web-ből a Microsoft.App.

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

Az Azure Container Apps-környezet létrehozása

Most, hogy az Azure CLI beállítása befejeződött, meghatározhatja a jelen cikkben használt környezeti változókat.

Adja meg a következő változókat a bash-rendszerhéjban.

export RESOURCE_GROUP="ms-identity-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-ms-identity-containerapps"
export API_NAME="ms-identity-api"
export JAR_FILE_PATH_AND_NAME="./target/ms-identity-spring-boot-webapp-0.0.1-SNAPSHOT.jar"

Hozzon létre egy erőforráscsoportot.

az group create  \
    --name $RESOURCE_GROUP \
    --location $LOCATION \

Hozzon létre egy környezetet egy automatikusan létrehozott Log Analytics-munkaterülettel.

az containerapp env create \
    --name $ENVIRONMENT \
    --resource-group $RESOURCE_GROUP \
    --location $LOCATION

A tárolóalkalmazás-környezet alapértelmezett tartományának megjelenítése. Jegyezze fel ezt a tartományt a későbbi szakaszokban való használathoz.

az containerapp env show \
    --name $ENVIRONMENT \
    --resource-group $RESOURCE_GROUP \
    --query properties.defaultDomain

Az alkalmazás előkészítése az üzembe helyezéshez

Amikor üzembe helyezi az alkalmazást az Azure Container Appsben, az átirányítási URL-cím megváltozik az Azure Container Appsben üzembe helyezett alkalmazáspéldány átirányítási URL-címére. A következő lépésekkel módosíthatja ezeket a beállításokat a application.yml fájlban:

  1. Lépjen az alkalmazás src\main\resources\application.yml fájljára, és módosítsa a telepített alkalmazás tartománynevére az post-logout-redirect-uri alábbi példában látható módon. Mindenképpen cserélje le <API_NAME> a <default-domain-of-container-app-environment> tényleges értékeket. Ha például az előző lépésben az Azure Container App-környezet alapértelmezett tartománya és ms-identity-api az alkalmazás neve szerepel, akkor az értékhez kell használnia post-logout-redirect-urihttps://ms-identity-api.<default-domain>.

    post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>
    
  2. A fájl mentése után használja az alábbi parancsot az alkalmazás újraépítéséhez:

    mvn clean package
    

Fontos

Az alkalmazás application.yml fájlja jelenleg az ügyfél titkos kódjának értékét tartalmazza a client-secret paraméterben. Ez az érték nem ajánlott ebben a fájlban tartani. Kockázatot is vállalhat, ha a fájlt egy Git-adattárba véglegesíti. Az ajánlott megközelítésért lásd : Titkos kódok kezelése az Azure Container Appsben.

A Microsoft Entra ID alkalmazásregisztráció frissítése

Mivel az átirányítási URI megváltozik az Azure Container Appsben üzembe helyezett alkalmazásra, az átirányítási URI-t is módosítania kell a Microsoft Entra ID-alkalmazásregisztrációjában. A módosítás végrehajtásához kövesse az alábbi lépéseket:

  1. Lépjen a Microsoft Identitásplatform fejlesztőknek Alkalmazásregisztrációk lapra.

  2. A keresőmező használatával keresse meg az alkalmazásregisztrációt – például java-servlet-webapp-authentication.

  3. Nyissa meg az alkalmazásregisztrációt a nevének kiválasztásával.

  4. Válassza a Hitelesítés lehetőséget a menüben.

  5. A Webes - átirányítási URI-k szakaszban válassza az URI hozzáadása lehetőséget.

  6. Töltse ki az alkalmazás URI-ját, hozzáfűzve /login/oauth2/code/ például https://<containerapp-name>.<default domain of container app environment>/login/oauth2/code/.

  7. Válassza a Mentés lehetőséget.

Az alkalmazás üzembe helyezése

A JAR-csomag üzembe helyezése az Azure Container Appsben.

Feljegyzés

Szükség esetén megadhatja a JDK-verziót a Java buildkörnyezet változóiban. További információ: A Java környezeti változóinak összeállítása az Azure Container Appsben.

Most már üzembe helyezheti a WAR-fájlt a az containerapp up CLI paranccsal.

az containerapp up \
    --name $API_NAME \
    --resource-group $RESOURCE_GROUP \
    --location $LOCATION \
    --environment $ENVIRONMENT \
    --artifact <JAR_FILE_PATH_AND_NAME> \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

Feljegyzés

Az alapértelmezett JDK-verzió 17. Ha módosítania kell a JDK-verziót az alkalmazással való kompatibilitás érdekében, az --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION> argumentummal módosíthatja a verziószámot.

További buildkörnyezeti változókért tekintse meg a Java környezeti változóinak összeállítása az Azure Container Appsben című témakört.

Az alkalmazás ellenőrzése

Ebben a példában a containerapp up parancs tartalmazza az --query properties.configuration.ingress.fqdn argumentumot, amely visszaadja a teljes tartománynevet (FQDN), más néven az alkalmazás URL-címét. Az alábbi lépésekkel ellenőrizheti az alkalmazás naplóit az üzembehelyezési problémák kivizsgálásához:

  1. A kimeneti alkalmazás URL-címét az Üzembe helyezés szakasz Kimenetek lapján érheti el.

  2. Az Azure Container Apps-példány áttekintési lapján válassza a Naplók lehetőséget az alkalmazás naplóinak ellenőrzéséhez.

További információ

Következő lépések

További információkért és egyéb üzembe helyezési lehetőségekért tekintse meg az alábbi cikkeket: