Gyakorlat – A lemezkép módosítása és a webalkalmazás ismételt üzembe helyezése

Befejeződött

Ebben az egységben konfigurálhatja a folyamatos üzembe helyezést a webalkalmazáshoz, és létrehozhat egy olyan webhookot, amely a Docker-lemezképet tartalmazó regisztrációs adatbázisra hivatkozik. Ezután módosíthatja a webalkalmazás forráskódját, és újraépítheti a lemezképet. Végül megnyithatja a minta-webalkalmazást üzemeltető webhelyet, ahol ellenőrizheti, hogy az a legújabb verziót alkalmazza.

Megjegyzés:

Ebben a gyakorlatban nem hoz létre Azure Container Registry-feladatot. Ehelyett manuálisan újraépíti a mintaalkalmazás Docker-lemezképét. A webhook megnyílik az új Docker-rendszerkép létrehozásakor.

A folyamatos üzembe helyezés konfigurálása és webhook létrehozása

  1. Térjen vissza az Azure Portalra , és válassza ki a webalkalmazást. Megjelenik az App Service panel a webalkalmazáshoz.

  2. A bal oldali menüpanel Üzembe helyezés csoportjában válassza az Üzembe helyezési központ lehetőséget. Megjelenik az Üzembe helyezési központ panel az App Service -hez (webalkalmazáshoz).

  3. A Gépház lap Beállításjegyzék-beállításai csoportjában állítsa be a Folyamatos üzembe helyezés beállítást, majd válassza a Mentés lehetőséget a felső menüsávon. Ezzel a beállítással egy olyan webhookot konfigurál, amellyel a Container Registry értesítheti a webalkalmazást, hogy megváltozott a Docker-lemezkép.

    Screenshot that shows the container settings for the web app with continuous deployment enabled.

A webalkalmazás frissítése és a webhook tesztelése

  1. Az Azure Cloud Shellben nyissa meg a dotnet/SampleWeb/Pages mappát. Ez a mappa tartalmazza a webalkalmazás által megjelenített HTML-lapok forráskódját.

    cd ~/mslearn-deploy-run-container-app-service/dotnet/SampleWeb/Pages
    
  2. Futtassa az alábbi parancsokat, amelyekkel lecserélheti a webalkalmazás alapértelmezett lapját (Index.cshtml) egy új verziójára, amely egy további elemmel rendelkezik a forgótáron. Ezek a parancsok folyamatos fejlesztést szimulálnak az alkalmazásban, és új lapot adnak hozzá a körhintához.

    mv Index.cshtml Index.cshtml.old
    mv Index.cshtml.new Index.cshtml
    
  3. Futtassa a következő parancskészletet a webalkalmazás rendszerképének újraépítéséhez és a Container Registrybe való leküldéséhez. Cserélje le a <container_registry_name> elemet a tárolójegyzék nevére. Ne felejtsen pontot (.) tenni a második parancs végére. Várjon, amíg a build befejeződik.

    cd ~/mslearn-deploy-run-container-app-service/dotnet
    az acr build --registry <container_registry_name> --image webimage .
    
  4. Térjen vissza az Azure Portal kezdőlapjára. Válassza ki a tárolóregisztrációs adatbázist a Legutóbbi erőforrások területen. Megjelenik a Tárolóregisztrációs adatbázis ablaktábla.

  5. A bal oldali menüpanel Szolgáltatások csoportjában válassza a Webhookok lehetőséget. Megjelenik a Webhooks panel a tárolóregisztrációs adatbázishoz.

  6. Válassza ki az egyetlen webhookot a listában. Megjelenik a Tárolóregisztrációs adatbázis webhookja .

  7. Figyelje meg a webhook rekordját, amely az imént aktiválódott a buildre és a leküldésre, amelyet futtatott.

    Screenshot of the webhook showing the push event.

A webalkalmazás ismételt tesztelése

  1. Térjen vissza a webalkalmazáshoz a böngészőben. Ha korábban bezárta a lapfület, lépjen az alkalmazás Áttekintés lapjára az Azure Portalon, és válassza a Tallózás lehetőséget. Hidegindítási késést tapasztalhat, amíg a webalkalmazás betölti az új lemezképet a Container Registryből.

  2. Tekintse át a forgótár elemeit. A vezérlő ekkor már négy lapot tartalmaz. Az új oldal a következő képhez hasonlóan néz ki:

    Screenshot of the sample web app.

A webalkalmazás automatikusan frissült, és újból üzembe lett helyezve az új lemezkép alapján. A regisztrációs adatbázis webhookszolgáltatása értesítette a webalkalmazást, hogy a tárolólemezkép megváltozott, ami frissítést idézett elő.

  1. Az Azure Cloud Shellben nyissa meg a csomópont/útvonalak mappát. Ez a mappa tartalmazza a webalkalmazás által megjelenített lapokat létrehozó forráskódot.

    cd ~/mslearn-deploy-run-container-app-service/node/routes
    
  2. Nyissa meg index.js a Cloud Shell-szerkesztőben.

    code index.js
    
  3. A szerkesztőben módosítsa a kódot a nézetnek Express átadott tulajdonság értékének title módosításáhozMicrosoft Learn.

    ...
    res.render('index', { title: 'Microsoft Learn' });
    ...
    

    Ha elkészült, mentse a fájlt.

  4. A Cloud Shellben futtassa a következő parancskészletet a webalkalmazás rendszerképének újraépítéséhez, majd a Container Registrybe való leküldéséhez. Cserélje le a <container_registry_name> elemet a tárolójegyzék nevére. Ne felejtsen pontot (.) tenni a második parancs végére. Várjon, amíg a build befejeződik.

    cd ~/mslearn-deploy-run-container-app-service/node
    az acr build --registry <container_registry_name> --image webimage .
    
  5. A bal oldali menüpanel Szolgáltatások csoportjában válassza a Webhookok lehetőséget. A tárolóregisztrációs adatbázis Webhookok paneljén válassza ki az egyetlen webhookot a listában.

  6. Figyelje meg, hogy van egy rekord a webhookról, amely az imént aktiválódott a buildre és a leküldésre.

    Screenshot of the webhook showing the push event.

A webalkalmazás ismételt tesztelése

  1. Térjen vissza a webalkalmazáshoz a böngészőben. Ha korábban bezárta a lapfület, nyissa meg a webalkalmazás Áttekintés lapját az Azure Portalon, és a felső menüsávon válassza a Tallózás lehetőséget. Hidegindítási késést tapasztalhat, amíg a webalkalmazás betölti az új lemezképet a Container Registryből.

  2. Figyelje meg, hogy a lap tartalma úgy módosult, hogy tükrözze a tároló rendszerképének frissítéseit.

    Screenshot of the sample web app.

A webalkalmazás automatikusan frissült, és újból üzembe lett helyezve az új lemezkép alapján. A regisztrációs adatbázis webhookszolgáltatása értesítette a webalkalmazást, hogy a tárolólemezkép megváltozott, ami frissítést idézett elő.