Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Amikor a webalkalmazást, a Linuxos webalkalmazást, a mobil háttérrendszert vagy az API-alkalmazást az Azure App Service-ben helyezi üzembe, az alapértelmezett éles hely helyett egy külön üzembehelyezési helyet használhat. Ez a módszer akkor érhető el, ha egy App Service-csomag Standard, Premium vagy Izolált szintjén fut. Az üzembehelyezési pontok saját gazdagépnevekkel rendelkező élő alkalmazások. Az alkalmazástartalmak és a konfigurációs elemek két telepítési rés között felcserélhetők, beleértve az éles telepítési rést is.
Az alkalmazás nem gyártási ponton való üzembe helyezése a következő előnyökkel jár:
Mielőtt a helyet produkciós környezetbe helyezné, ellenőrizheti az alkalmazás módosításait.
Mielőtt átváltja az éles környezetbe, győződjön meg arról, hogy a slot összes példánya bemelegítve van. Ez a módszer kiküszöböli az állásidőt az alkalmazás üzembe helyezésekor. A forgalom átirányítása zökkenőmentes. A felcserélési műveletek miatt a rendszer nem küld el kéréseket.
Ezt a teljes munkafolyamatot automatizálhatja az automatikus felcserélés konfigurálásával, ha nincs szükség előcseréléses ellenőrzésre.
A felcserélés után a korábban előkészített alkalmazás helyére most az előző éles alkalmazás került. Ha az éles pontra cserélt módosítások nem felelnek meg az elvárásainak, ugyanezt a cserét azonnal elvégezheti, hogy visszakapja az utolsó ismert jó webhelyet.
Az üzembehelyezési pontok használata nem jár külön díjjal. Minden App Service-csomagszint különböző számú üzembehelyezési pontot támogat. Az alkalmazásszint által támogatott pontok számának megtekintéséhez tekintse meg az App Service korlátait.
Ha az alkalmazást egy másik szintre szeretné skálázni, győződjön meg arról, hogy a célszint támogatja az alkalmazás által már használt tárolóhelyek számát. Ha például az alkalmazás ötnél több tárolóhellyel rendelkezik, nem skálázhatja le a Standard szintre. A Standard szint csak öt üzembehelyezési pontot támogat.
Az alábbi videó kiegészíti a cikkben szereplő lépéseket, és bemutatja, hogyan állíthat be átmeneti környezeteket az Azure App Service-ben.
Előfeltételek
- A kívánt slot művelet végrehajtásához szükséges engedélyek. A szükséges engedélyekkel kapcsolatos információkért tekintse meg az erőforrás-szolgáltató műveleteit. Keresse meg például a pontot.
Hely felvétele
Ahhoz, hogy több üzembehelyezési pontot engedélyezhessen, az alkalmazásnak standard, prémium vagy izolált szinten kell futnia.
Az Azure Portalon nyissa meg az alkalmazás felügyeleti oldalát.
A bal oldali menüben válassza az Üzembehelyezés>Üzembehelyezési pontok lehetőséget. Ezután válassza a Hozzáadás lehetőséget.
Megjegyzés:
Ha az alkalmazás még nincs a Standard, a Prémium vagy az Izolált szinten, válassza a Frissítés lehetőséget. A folytatás előtt lépjen az alkalmazás Méretezés lapjára.
A Pont hozzáadása párbeszédpanelen adjon nevet a pontnak, és adja meg, hogy klónozza-e az alkalmazáskonfigurációt egy másik üzembehelyezési pontból. A folytatáshoz válassza a Hozzáadás lehetőséget.
A konfigurációt bármely meglévő pontból klónozhatja. A klónozni kívánt beállítások közé tartoznak az alkalmazásbeállítások, a kapcsolati sztring, a nyelvi keretrendszer verziói, a webes szoftvercsatornák, a HTTP-verzió és a platformbitesség.
Megjegyzés:
Jelenleg egy privát végpont nem másolódik a helyek között.
A beállítások megadása után kattintson a Bezárás gombra a párbeszédpanel bezárásához. Az új pont most megjelenik az Üzembehelyezési pontok lapon. Alapértelmezés szerint a Forgalom %0 értékre van állítva az új ponthoz, és az összes ügyfélforgalom az éles ponthoz van irányítva.
Válassza ki az új üzembehelyezési pontot az erőforráslap megnyitásához.
Az előkészítési pont felügyeleti oldallal rendelkezik, mint bármely más App Service-alkalmazás. Módosíthatja a hely konfigurációját. Annak emlékeztetésére, hogy a telepítési slotot tekinti meg, az alkalmazás neve és a slot neve jelenik meg az URL-címben. Az alkalmazás típusa App Service (Slot). A helyet külön alkalmazásként is láthatja az erőforráscsoportban, ugyanazokkal a megnevezésekkel.
A pont erőforrásoldalán válassza ki az alkalmazás URL-címét. Az üzembehelyezési foglalatnak saját állomásneve van, és élő alkalmazásként is működik. Az üzembehelyezési ponthoz való nyilvános hozzáférés korlátozásához tekintse meg az Azure App Service hozzáférési korlátozásainak beállítását.
Az új üzembehelyezési pont nem tartalmaz tartalmat, még akkor sem, ha a beállításokat egy másik pontról klónozza. Például közzéteheti ezt a helyet a Git segítségével. Egy másik adattárágból vagy egy másik adattárból is üzembe helyezheti a pontot. A közzétételi profil lekérése az Azure App Service-ből című cikk meg tudja adni a slotba való üzembe helyezéshez szükséges információkat. A Visual Studio importálhatja a profilt, hogy tartalmat telepítsen a foglalatra.
A hely URL-címe formátuma http://sitename-slotname.azurewebsites.net. Ha az URL-cím hosszát a szükséges DNS-korlátokon belül szeretné tartani, a helynév legfeljebb 40 karakter hosszúságú lehet, a pont neve pedig legfeljebb 19 karakter lehet. A helynév és a pontnév együttes hosszának 59 karakternél kevesebbnek kell lennie.
Értsük meg, mi történik egy felcserélés során
A felcserélési művelet lépései
Két hely felcserélésekor az App Service a következőket teszi annak érdekében, hogy célhelyen ne legyen állásidő:
Alkalmazza a következő beállításokat a célhelyről (például az éles pontról) a forráshely összes példányára:
- Pontspecifikus alkalmazásbeállítások és kapcsolati sztringek, ha vannak
- Folyamatos üzembe helyezési beállítások, ha engedélyezve van
- App Service-hitelesítési beállítások, ha engedélyezve van
Amikor bármelyik beállítást a forráshelyre alkalmazzák, a módosítás kiváltja a forráshelyen lévő összes példány újraindulását. Az előzetes verzióval való felcserélés során ez a művelet az első fázis végét jelöli. A felcserélési művelet szünetel. Ellenőrizheti, hogy a forráshely megfelelően működik-e a célhely beállításaival.
Várja meg, amíg a forrásfoglalat minden példánya befejezi az újraindítást. Ha egy példány nem indul újra, a felcserélési művelet visszaállítja a forráshely összes módosítását, és leállítja a műveletet.
Ha a helyi gyorsítótár engedélyezve van, aktiválja a helyi gyorsítótár inicializálását úgy, hogy HTTP-kérést küld a forráshely minden példányán az alkalmazásgyökérnek (
/). Várjon, amíg minden szerverpéldány HTTP-választ ad vissza. A helyi gyorsítótár inicializálása minden példányon újraindul.Ha az automatikus felcserélésengedélyezve van az egyéni bemelegítéssel, aktiválja az egyéni alkalmazás inicializálását a forráshely minden példányán.
Ha
applicationInitializationnincs megadva, indítson egy HTTP-kérést minden egyes példányra a forráspéldány alkalmazásgyökéréhez.Ha egy példány HTTP-választ ad vissza, az felkészültnek minősül.
Ha a forráshely részen lévő összes példány sikeresen felmelegedett, cserélje fel a két slotot az útválasztási szabályaik megfordításával. A lépés után a célhely (például a gyártási hely) tartalmazza az alkalmazást, amelyet korábban melegítettek a forráshelyen.
Most, hogy a forráshelyen található a korábban a célhelyen lévő felcserélés előtti alkalmazás, hajtsa végre ugyanezt a műveletet az összes beállítás alkalmazásával és a példányok újraindításával.
A felcserélt alkalmazások inicializálásának minden munkája a forráshelyen történik. A célhely online állapotban marad, miközben a forráspont előkészítése és bemelegedése folyamatban van, függetlenül attól, hogy a csere sikeres vagy sikertelen lesz-e. Ha fel szeretne cserélni egy előállítási rést a gyártási résszel, győződjön meg arról, hogy a gyártási rész mindig a céltárhely. Így a felcserélési művelet nincs hatással az éles alkalmazásra.
Megjegyzés:
A korábbi éles példányokat a rendszer a felcserélési művelet után átmenetire cseréli. Ezeket a példányokat a felcserélési folyamat utolsó lépésében újrahasznosítottuk. Ha az alkalmazásban hosszú ideig futó műveletek vannak, azok a feldolgozók újrafeldolgozásakor megszűnnek. Ez a tény a függvényalkalmazásokra is vonatkozik. Győződjön meg arról, hogy az alkalmazáskód hibatűrő módon van megírva.
Mely beállítások vannak felcserélve
Ha egy konfigurációt egy másik üzembehelyezési pontról klónoz, a klónozott konfiguráció szerkeszthető. Egyes konfigurációelemek a felcserélések tartalmát követik (nem pontspecifikusak). A többi konfigurációs elem ugyanabban a pontban marad a felcserélés után ( pontspecifikusak).
A pontok felcserélésekor a rendszer a következő beállításokat cseréli fel:
- Nyelvi keretrendszer beállításai (például .NET-verzió, Java-verzió, PHP-verzió, Python-verzió, Node.js verzió)
- 32 bites és 64 bites platformbeállítás
- WebSockets engedélyezve/letiltva
- Alkalmazásbeállítások ( konfigurálható egy ponthoz való ragaszkodáshoz)
- Kapcsolati sztringek (konfigurálhatók úgy, hogy rögzítve legyenek egy slothoz)
- Csatlakoztatott tárfiókok ( konfigurálható úgy, hogy egy ponthoz ragaszkodjanak)
- Kezelőleképezések
- Nyilvános tanúsítványok
- WebJobs tartalom
- Hibrid kapcsolatok
- Szolgáltatásvégpontok
- Azure Content Delivery Network
- Útvonalleképezések
A pontok felcserélésekor ezek a beállítások nem lesznek felcserélve
- Protokollbeállítások (Csak Https, TLS-verzió, ügyféltanúsítványok) *
- Végpontok közzététele
- Egyéni tartománynevek
- Nem nyilvános tanúsítványok és TLS/SSL-beállítások
- Méretezési beállítások
- WebJobs ütemezők
- IP-korlátozások *
- Mindig Bekapcsolva *
- Diagnosztikai napló beállításai *
- Forrásközi erőforrás-megosztás (CORS) *
- Felügyelt identitások
- Beállítások, amelyek az utótaggal végződnek
_EXTENSION_VERSION - A Service Connector által létrehozott beállítások
- Virtuális hálózat integrációja
Megjegyzés:
A *-nal jelölt beállítások felcserélhetők az alkalmazás beállításának WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS az alkalmazás minden pontjára való hozzáadásával, és az értékének beállításával a következőre 0 : vagy false. Ez visszatér a korábbi csere viselkedésre, mielőtt ezeket a beállításokat slot-specifikussá tették volna. Ha ezt a felülbírálást használja, ezek a megjelölt beállítások vagy mind cserélhetők, vagy mind nem cserélhetők. Egyes beállításokat nem lehet felcserélni, a többit nem.
Bizonyos alkalmazásbeállítások, amelyek a nem felcserélt beállításokra vonatkoznak, szintén nincsenek felcserélve. Például azért, mert a diagnosztikai beállítások nincsenek felcserélve, a kapcsolódó alkalmazásbeállítások WEBSITE_HTTPLOGGING_RETENTION_DAYSDIAGNOSTICS_AZUREBLOBRETENTIONDAYS például nem cserélődnek fel, még akkor sem, ha nem jelennek meg pontbeállításokként.
Üzembehelyezési pontok felcserélése
Az üzembehelyezési pontok felcserélhetők az alkalmazás Üzembehelyezési pontok lapján és az Áttekintés lapon.
Mielőtt felcserél egy alkalmazást egy üzembehelyezési pontról az éles környezetbe, győződjön meg arról, hogy az éles környezet a célhely, és hogy a forráshely összes beállítása pontosan úgy van konfigurálva, ahogyan éles környezetben szeretné őket használni.
Nyissa meg az alkalmazás üzembehelyezési pontjainak lapját, és válassza a Felcserélés lehetőséget.
A Felcserélés párbeszédpanel a módosítani kívánt forrás- és célhelyek beállításait jeleníti meg.
Válassza ki a kívánt forrás- és célhelyeket. A cél általában a gyártási időszak. Válassza továbbá a Forrás pont módosításait és a Célhely módosításai fület, és ellenőrizze, hogy a konfigurációs módosítások várhatók-e. Ha végzett, azonnal felcserélheti a pontokat a Felcserélés indítása gombra kattintva.
Ha szeretné látni, hogy a célhely hogyan futna az új beállításokkal a felcserélés előtt, ne válassza a Felcserélés indítása lehetőséget. Kövesse a jelen cikk későbbi, előzetes verzióval való felcserélése című szakasz utasításait.
A párbeszédpanel bezárásához válassza a bezárása lehetőséget.
Ha bármilyen problémája van, olvassa el a jelen cikk későbbi részében a felcserélések hibaelhárítását ismertető cikket.
Felcserélés előzetes verzióval (többfázisú felcserélés)
Mielőtt célhelyként felcseréli az éles környezetbe, ellenőrizze, hogy az alkalmazás a felcserélt beállításokkal fut-e. A forráshelyet a csere befejezése előtt is bemelegíti a rendszer, ami kritikus fontosságú alkalmazások esetében kívánatos.
Ha előzetes verziójú felcserélést hajt végre, az App Service ugyanezt a felcserélési műveletet hajtja végre, de az első lépés után szünetel. Ezután ellenőrizheti az eredményt a teszthelyen, mielőtt végrehajtja a cserét.
Ha megszakítja a felcserélést, az App Service újra alkalmazza a konfigurációs elemeket a forráshelyre.
Megjegyzés:
Nem használhatja az előnézeti módban való cserét, ha a webhelyhitelesítés engedélyezve van az egyik tárolóhelyen.
Kövesse az üzembehelyezési pontok felcserélése szakasz lépéseit, de válassza a Felcserélés végrehajtása előzetes verzióval lehetőséget.
A párbeszédpanel bemutatja, hogyan változik a forráshely konfigurációja az első fázisban, és hogyan változik a forrás- és célhely a második fázisban.
Ha készen áll a felcserélés indítására, válassza a Felcserélés indítása lehetőséget.
Amikor az első fázis befejeződik, a párbeszédpanel értesíti Önt.
Ha készen áll a függőben lévő felcserélés befejezésére, válassza a Felcserélés befejezéseműveletben lehetőséget, majd válassza a Felcserélés befejezése gombot.
Függőben lévő felcserélés megszakításához válassza a Mégse felcserélés lehetőséget, majd válassza a Mégse felcserélés gombot.
Ha végzett, a párbeszédpanel bezárásához kattintson a Bezárás gombra.
Ha bármilyen problémája van, olvassa el a jelen cikk későbbi részében a felcserélések hibaelhárítását ismertető cikket.
Csere visszaállítása
Ha bármilyen hiba történik a célhelyen (például az éles példányban) egy helycsere után, állítsa vissza a helyeket az átcserélés előtti állapotukba úgy, hogy azonnal felcseréli ugyanazt a két helyet.
Automatikus felcserélés konfigurálása
Az automatikus felcserélés leegyszerűsíti az Azure DevOps-forgatókönyveket, ahol az alkalmazást folyamatosan szeretné üzembe helyezni nulla hidegindítással és nulla állásidővel az alkalmazás ügyfelei számára. Ha az automatikus felcserélés engedélyezve van egy helyről az éles környezetbe, minden alkalommal, amikor a kód módosításait erre a helyre küldi, az App Service automatikusan felcseréli az alkalmazást az éles környezetbe, miután bemelegedett a forráshelyen.
Megjegyzés:
Az automatikus felcserélés nem támogatott a Linuxon és a Web App for Containersben futó webalkalmazásokban.
Mielőtt konfigurálja az automatikus felcserélést az éles ponthoz, fontolja meg a tesztelést egy nem termelési célhelyen.
Nyissa meg az alkalmazás erőforráslapját. Válassza ki az Üzembehelyezési>pontok elemet, majd válassza ki a kívánt forráshelyet.
A bal oldali menüben válassza a Beállítások>konfigurációja>Általános beállítások lehetőséget.
Ha az automatikus felcserélés engedélyezve van, válassza a Be lehetőséget. Az automatikus felcserélés telepítési hely esetén válassza ki a célhelyet. Ezután válassza a Mentés lehetőséget a parancssávon.
Kódküldés futtatása a forráshelyre. Az automatikus felcserélés rövid idő után történik. A frissítés megjelenik a célhelyhely URL-címében.
Ha bármilyen problémája van, olvassa el a jelen cikk későbbi részében a felcserélések hibaelhárítását ismertető cikket.
Alkalmazásbeállítás nem alkalmazhatóvá tétele
Alkalmazásbeállítás konfigurálása pontspecifikusként (nem felcserélve):
Menjen a Beállítások>Környezeti változók azon a sloton.
Adjon hozzá vagy szerkesszen egy beállítást, majd válassza az Üzembehelyezési pont beállítását. Ha bejelöli ezt a jelölőnégyzetet, az App Service azt jelzi, hogy a beállítás nem cserélhető fel.
Válassza az Alkalmazás lehetőséget.
Egyéni bemelegítés megadása
Egyes alkalmazások egyéni bemelegítési műveleteket igényelhetnek a felcserélés előtt. Ezeket az egyéni műveleteket a applicationInitialization konfigurációs elem használatával a Web.config-ban/-ben adhatja meg. A felcserélési művelet megvárja, amíg ez az egyéni bemelegítés befejeződik, mielőtt felcseréli a célhelyet. Íme egy mintatöredék Web.config :
<system.webServer>
<applicationInitialization>
<add initializationPage="/" hostName="[app hostname]" />
<add initializationPage="/Home/About" hostName="[app hostname]" />
</applicationInitialization>
</system.webServer>
Az elem testreszabásával kapcsolatos további információkért applicationInitialization tekintse meg a leggyakoribb üzembehelyezési pont felcserélésével kapcsolatos hibákról és azok javításáról szóló blogbejegyzést.
A bemelegítési viselkedést az alábbi alkalmazásbeállítások használatával is testre szabhatja:
-
WEBSITE_SWAP_WARMUP_PING_PATH: A HTTP-kapcsolaton keresztüli pingelés elérési útja a webhely bemelegítéséhez. Adja hozzá ezt az alkalmazásbeállítást egy egyéni elérési út megadásával, amely egy perjellel kezdődik értékként. Például:/statuscheck. Az alapértelmezett érték/. -
WEBSITE_SWAP_WARMUP_PING_STATUSES: Érvényes HTTP-válaszkódok a bemelegítési művelethez. Adja hozzá ezt az alkalmazásbeállítást a HTTP-kódok vesszővel tagolt listájával. Például:200,202. Ha a visszaadott állapotkód nem szerepel a listában, a bemelegítési és felcserélési műveletek leállnak. Alapértelmezés szerint az összes válaszkód érvényes. -
WEBSITE_WARMUP_PATH: Relatív elérési út a webhelyen, amelyet a webhely újraindulásakor (nem csak a pontcserék során) kell pingelni. Példaértékek a következők:/statuscheckvagy a gyökér elérési útja./
A <applicationInitialization> konfigurációs elem minden alkalmazásindítás része, míg a bemelegítési viselkedés alkalmazásbeállításai csak a pontcserékre vonatkoznak.
Ha bármilyen problémája van, olvassa el a jelen cikk későbbi részében a felcserélések hibaelhárítását ismertető cikket.
Felcserélés figyelése
Ha a felcserélési művelet végrehajtása hosszú időt vesz igénybe, a tevékenységnaplóban információkat kaphat a felcserélési műveletről.
Az alkalmazás erőforráslapján a portál bal oldali menüjében válassza a Tevékenységnapló lehetőséget.
A napló lekérdezésében felcserélési művelet jelenik meg a következőként
Swap Web App Slots: . A részletek megtekintéséhez bontsa ki, és válassza ki az egyik alművet vagy hibát.
A termelési forgalom automatikus átirányítása
Alapértelmezés szerint az alkalmazás éles URL-címére irányuló összes ügyfélkérés kiszolgálva van az éles környezetben. A forgalom egy részét átirányíthatja egy másik pontra. Ez a funkció akkor hasznos, ha felhasználói visszajelzésre van szüksége egy új frissítéshez, de még nem áll készen arra, hogy éles környezetben kiadja.
Nyissa meg a webalkalmazás erőforráslapját, és válassza az Üzembe helyezés>Üzembe helyezési pontok lehetőséget.
A Forgalom % oszlopban adja meg a forgalom százalékos értékét (0 és 100 között), amely az irányítandó teljes forgalom mennyiségét jelzi. Ezután válassza a Mentés lehetőséget.
A beállítás mentése után az ügyfelek megadott százalékos aránya véletlenszerűen a nem gyártási ponthoz lesz irányítva.
Miután az ügyfél automatikusan egy adott ponthoz lett irányítva, egy órán keresztül vagy a cookie-k törléséig rögzítve lesz. Az ügyfélböngészőben láthatja, hogy a munkamenete melyik slothoz van rögzítve, ha megtekinti a x-ms-routing-name cookie-t az HTTP-fejlécben. A staging slothoz irányított kéréshez tartozik a cookie x-ms-routing-name=staging. Az éles ponthoz irányított kéréshez tartozik a x-ms-routing-name=self cookie.
Éles forgalom manuális irányítása
Az automatikus forgalomirányítás mellett az App Service átirányíthatja a kéréseket egy adott pontra. Ez a lehetőség akkor hasznos, ha azt szeretné, hogy a felhasználók a bétaalkalmazást is bekapcsolhassák vagy kikapcsolhassák. A termelési forgalom manuális irányításához használja a lekérdezési x-ms-routing-name paramétert.
Ha például azt szeretné, hogy a felhasználók kikapcsolják a bétaalkalmazást, ezt a hivatkozást elhelyezheti a weblapján:
<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>
A karakterlánc x-ms-routing-name=self megadja a gyártási helyet. Miután az ügyfélböngésző hozzáfér a hivatkozáshoz, a rendszer átirányítja az éles pontra. Minden további kérés rendelkezik azzal a x-ms-routing-name=self cookie-val, amely a munkamenetet a produkciós helyhez rögzít.
Ha lehetővé szeretné tenni a felhasználóknak, hogy csatlakozzanak a béta alkalmazáshoz, állítsa ugyanazt a lekérdezési paramétert a nem gyártási hely nevére. Itt egy példa:
<webappname>.azurewebsites.net/?x-ms-routing-name=staging
Alapértelmezés szerint az új pontok útválasztási szabálya 0%szürkén jelenik meg. Ha ezt az értéket 0% explicit módon (fekete szövegben) állítja be, a felhasználók manuálisan férhetnek hozzá az előkészítési ponthoz a x-ms-routing-name lekérdezési paraméter használatával. Nem lesznek automatikusan átirányítva a helyhez, mert az útvonalszázalék értéke 0. Ez a konfiguráció egy speciális forgatókönyv, amelyben elrejtheti az előkészítési pontot a nyilvánosság elől, miközben a belső csapatok tesztelhetik a módosításokat a ponton.
Pont törlése
Keresse meg és válassza ki az alkalmazást.
Válassza a Üzembe helyezés>Üzembe helyezési pontok>, majd a törlendő slot>, és végül az Áttekintés elemet. Az alkalmazás típusa App Service -ként (Slot) jelenik meg, amely emlékezteti arra, hogy egy üzembehelyezési pontot tekint meg.
Állítsa le a pontot, és állítsa nullára a forgalmat a ponton.
A parancssávon válassza a Törlés lehetőséget.
Automatizálás Resource Manager-sablonokkal
Az Azure Resource Manager-sablonok deklaratív JSON-fájlok az Azure-erőforrások üzembe helyezésének és konfigurálásának automatizálásához. A helyek Resource Manager-sablonok használatával történő cseréjéhez két tulajdonságot kell beállítania az Microsoft.Web/sites/slots és Microsoft.Web/sites erőforrásokon.
-
buildVersion: Egy karakterlánc tulajdonság, amely a slotban üzembe helyezett alkalmazás aktuális verzióját jelöli. Például:v1,1.0.0.1vagy2019-09-20T11:53:25.2887393-07:00. -
targetBuildVersion: Sztringtulajdonság, amely meghatározza, hogy a pontnak milyenbuildVersionértékkel kell rendelkeznie. Ha aztargetBuildVersionérték nem egyenlő az aktuálisbuildVersionértékkel, a felcserélési műveletet a megadottbuildVersionértékkel rendelkező pont megkeresésével indítja el.
Példa Erőforrás-kezelő sablonja
Az alábbi Resource Manager-sablon két slotot cserél fel a buildVersion értékének frissítésével a staging slotban, és az targetBuildVersion értékének beállításával az éles slotban. Rendelkeznie kell egy staging nevű hellyel.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"my_site_name": {
"defaultValue": "SwapAPIDemo",
"type": "String"
},
"sites_buildVersion": {
"defaultValue": "v1",
"type": "String"
}
},
"resources": [
{
"type": "Microsoft.Web/sites/slots",
"apiVersion": "2018-02-01",
"name": "[concat(parameters('my_site_name'), '/staging')]",
"location": "East US",
"kind": "app",
"properties": {
"buildVersion": "[parameters('sites_buildVersion')]"
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-02-01",
"name": "[parameters('my_site_name')]",
"location": "East US",
"kind": "app",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/slots', parameters('my_site_name'), 'staging')]"
],
"properties": {
"targetBuildVersion": "[parameters('sites_buildVersion')]"
}
}
]
}
Ez a Resource Manager-sablon idempotens. Az eljárást többször is végrehajthatja, és ugyanazt a slotok állapotát hozhatja létre. A sablon módosítása nélkül ugyanannak a sablonnak a későbbi futtatásai nem váltanak ki pontcserét, mert a pontok már a kívánt állapotban vannak.
Csereügyletek hibaelhárítása
Ha hiba történik egy pontcserélés során, a hiba a következőben D:\home\LogFiles\eventlog.xmljelenik meg: . A rendszer az alkalmazásspecifikus hibanaplóban is naplózza.
Íme néhány gyakori felcserélési hiba:
Az alkalmazás gyökerére küldött HTTP-kérés időzítve van. A felcserélési művelet minden HTTP-kérelemre 90 másodpercet vár, és legfeljebb ötször próbálkozik újra. Ha az összes újrapróbálkozási művelet túllépi az időkorlátot, a felcserélési művelet leáll.
A helyi gyorsítótár inicializálása meghiúsulhat, ha az alkalmazás tartalma meghaladja a helyi gyorsítótárhoz megadott helyi lemezkvótát. További információkért tekintse meg az Azure App Service helyi gyorsítótárának áttekintését.
Egy helyfrissítési művelet során a következő hiba léphet fel: "A pont nem módosítható, mert a konfigurációs beállítások fel lettek készítve a felcserélésre." Ez a hiba akkor fordulhat elő, ha egy többfázisú felcserélés első fázisa befejeződött, de a második fázis nem történt meg. Akkor is előfordulhat, ha egy felcserélés meghiúsult. A probléma kétféleképpen oldható meg:
- Szakítsa meg a felcserélési műveletet, amely visszaállítja a helyet a régi állapotba.
- Hajtsa végre a felcserélési műveletet, amely frissíti a webhelyet a kívánt új állapotra.
A felcserélési művelet megszakításáról vagy befejezéséről a cikk korábbi, előzetes verziójú (többfázisú felcserélés) című szakaszában olvashat.
Az egyéni bemelegítés során a HTTP-kérések belsőleg, a külső URL-címen való áthaladás nélkül jönnek létre. A
Web.configbizonyos URL-átírási szabályokkal meghiúsulhatnak. Például a tartománynevek átirányítására vagy a HTTPS kényszerítésére vonatkozó szabályok megakadályozhatják, hogy a bemelegítési kérések elérjék az alkalmazás kódját. A probléma megoldásához módosítsa az átírási szabályokat az alábbi két feltétel hozzáadásával:<conditions> <add input="{WARMUP_REQUEST}" pattern="1" negate="true" /> <add input="{REMOTE_ADDR}" pattern="^100?\." negate="true" /> ... </conditions>Egyéni bemelegítés nélkül az URL-átírási szabályok továbbra is blokkolhatják a HTTP-kéréseket. A probléma megoldásához módosítsa az átírási szabályokat az alábbi feltétel hozzáadásával:
<conditions> <add input="{REMOTE_ADDR}" pattern="^100?\." negate="true" /> ... </conditions>A pontcserék után előfordulhat, hogy az alkalmazás váratlan újraindítást tapasztal. Az újraindítások azért történnek, mert a felcserélés után a gazdagépnév kötésének konfigurációja eltér az eredetitől. Ez a helyzet önmagában azonban nem okoz újraindítást. Bizonyos mögöttes tárolási események, például a tárolókötet feladatátvételei azonban észlelhetik ezeket az eltéréseket, és az összes feldolgozói folyamatot újraindításra kényszeríthetik.
Az ilyen típusú újraindítások minimalizálásához állítsa be az
WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG=1alkalmazásbeállítást az összes sloton. Ez az alkalmazásbeállítás azonban nem működik a Windows Communication Foundation (WCF) alkalmazásokkal.