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.
Ez az oktatóanyag bemutatja, hogyan hozhat létre biztonságos PHP-alkalmazást az Azure App Service-ben, amely rugalmas Azure Database for MySQL-kiszolgálóval csatlakozik egy MySQL-adatbázishoz. Te egy Azure Cache for Redist üzembe helyezel, hogy a gyorsítótárazási funkciót engedélyezd az alkalmazásodban. Az Azure App Service egy rendkívül skálázható, önjavító, webtárhely-szolgáltatás, amely könnyen képes alkalmazásokat telepíteni Windows vagy Linux rendszeren. Ha végzett, egy Laravel-alkalmazás fut a Linuxon futó Azure App Service-ben.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.
- Egy GitHub-fiók. Ingyenesen is beszerezhet egyet.
- A PHP és a Laravel fejlesztés ismerete.
- (Opcionális) A GitHub Copilot kipróbálásához egy GitHub Copilot fiókra van szükség. 30 napos ingyenes próba elérhető.
A minta futtatása
Állítson be egy adatvezérelt mintaalkalmazást kiindulási pontként. A mintaadattár tartalmaz egy fejlesztői tárolókonfigurációt . A fejlesztői konténer mindent tartalmaz, amire szüksége van egy alkalmazás fejlesztéséhez, beleértve az adatbázist, a gyorsítótárat, és az összes környezeti változót, amelyre a mintapéldának szüksége van. A fejlesztői konténer futtatható egy GitHub codespace-ben, ami azt jelenti, hogy a mintapéldányt bármilyen számítógépen futtathatja, amelynek van böngészője.
1. lépés: Egy új böngészőablakban:
- Jelentkezzen be GitHub-fiókjába.
- Navigáljon ide: https://github.com/Azure-Samples/laravel-tasks/fork.
- Válassza a Fork létrehozása lehetőséget.
2. lépés: A GitHub fork-ban:
3. lépés: A codespace terminálban:
- Futtassa a
composer installprogramot. - Hajtsa végre az adatbázis-migrációkat
php artisan migratesegítségével. - Futtassa az alkalmazást
php artisan serve. - Ha látja az értesítést
Your application running on port 80 is available., válassza a Megnyitás böngészőben lehetőséget. A mintaalkalmazásnak egy új böngészőlapon kell megjelennie. Az alkalmazás leállításához írja be a CtrlC + .
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
App Service, adatbázis és gyorsítótár létrehozása
Ebben a lépésben hozza létre az Azure-erőforrásokat. Az ebben az oktatóanyagban használt lépések egy alapértelmezés szerint biztonságos erőforráskészletet hoznak létre, amely tartalmazza az App Service-t, az Azure Database for MySQL-t és az Azure Cache for Redis-t. A létrehozási folyamathoz a következőket kell megadnia:
- A webalkalmazás neve. Az alkalmazás DNS-nevének részeként használják.
- A régió, ahol az alkalmazás fizikailag fut a világban. Az alkalmazás DNS-nevének is része.
- A Runtime stack az alkalmazáshoz. Itt választhatja ki, melyik PHP-verziót akarja használni az alkalmazásához.
- Az alkalmazás üzemeltetési terve . Ez a tarifacsomag, amely tartalmazza az alkalmazás funkcióit és skálázási kapacitását.
- Az alkalmazás erőforráscsoportja. Az erőforráscsoportokkal az alkalmazáshoz szükséges összes Azure-erőforrást logikai tárolóba csoportosíthatja.
Jelentkezzen be a Azure portalra. Kövesse az alábbi lépéseket az Azure App Service-erőforrások létrehozásához.
1. lépés: Az Azure portálon:
- A felső keresősávba írja be az App Service-t.
- Válassza ki az App Service címkével ellátott elemet a Szolgáltatások fejléc alatt.
- Válassza a Webalkalmazás létrehozása lehetőséget>. Közvetlenül a WebAlkalmazás létrehozása elemre is navigálhat.
2. lépés: A Webalkalmazás létrehozása lapon töltse ki az űrlapot az alábbiak szerint.
- Név: msdocs-laravel-mysql. Az Azure Portal létrehoz egy msdocs-laravel-mysql_group nevű erőforráscsoportot.
- Futtatókörnyezeti verem: PHP 8.4.
- Operációs rendszer: Linux.
- Régió: Bármelyik Azure-régió a közeledben.
- Linux-csomag: Hozzon létre újat , és használja az msdocs-laravel-mysql nevet.
- Tarifacsomag: Alapszintű. Ha készen áll, áttérhet egy másik tarifacsomagra.
3. lépés:
- A Tovább gombra kattintva lépjen az Adatbázis lapra.
- Válassza az Adatbázis létrehozása lehetőséget.
- A Motorban válassza a Rugalmas MySQL-kiszolgáló lehetőséget.
- Válassza az Azure Cache for Redis létrehozása lehetőséget.
- Adja meg a gyorsítótár nevét a Név mezőben (a Gyorsítótár területen).
- Az SKU-ban válassza az Alapszintű lehetőséget.
4. lépés:
- A Tovább gombra kattintva lépjen az Üzembe helyezés lapra.
- Folyamatos üzembe helyezés engedélyezése.
- A Szervezetben válassza ki a GitHub-aliast.
- Az Adattárban válassza a laravel-tasks elemet.
- Az Ág területen válassza a fő lehetőséget.
- Győződjön meg arról, hogy az alapszintű hitelesítés le van tiltva.
- Válassza az Áttekintés + létrehozás lehetőséget.
- Miután az ellenőrzés befejeződött, válassza a Létrehozás lehetőséget.
5. lépés: Az üzembe helyezés végrehajtása néhány percet vesz igénybe. A webalkalmazás megtekintéséhez válassza az Erőforrás megnyitása lehetőséget. Az üzembe helyezés a következő erőforrásokat hozza létre:
- Erőforráscsoport: Az összes létrehozott erőforrás tárolója.
- App Service plan: Meghatározza az App Service számítási erőforrásait. A Basic csomagban egy Linux terv lett létrehozva.
- App Service: Az alkalmazásodat képviseli és az App Service tervben fut.
- Virtuális hálózat: Integrálva az App Service alkalmazással, és elkülöníti a háttérhálózati forgalmat.
- Privát végpontok: Hozzáférési végpontok az adatbázis szerverhez és a Redis gyorsítótárhoz a virtuális hálózatban.
- Hálózati felületek: Privát IP-címeket képvisel, minden privát végponthoz egy-egy cím.
- Azure Database for MySQL Rugalmas Szerver: Csak a privát végpontja mögül érhető el. Létrehoznak egy adatbázist és egy felhasználót az ön számára a szerveren.
- Azure Cache for Redis: Csak a saját privát végpontja mögül érhető el.
- Privát DNS zónák: Engedélyezze az adatbázis szerver és a Redis gyorsítótár DNS feloldását a virtuális hálózaton belül.
Biztonságos kapcsolati titkos kódok
Az üzembe helyezés már alkalmazásbeállításokként létrehozta a kapcsolati változókat. A biztonsági ajánlott eljárás az, hogy a titkos kulcsokat teljesen távol tartjuk az App Service-ből. Helyezze át titkos kulcsait egy kulcstartóba, és módosítsa az alkalmazásbeállítást Key Vault-hivatkozásokra a Service Connectors segítségével.
1. lépés: Kérje le a meglévő kapcsolati sztringet.
- Az App Service lap bal oldali menüjében válassza a Beállítások>környezet változói lehetőséget.
- Válassza ki a kapcsolati sztringeket.
- Válassza a AZURE_MYSQL_CONNECTIONSTRING.
- Az Alkalmazás hozzáadása/szerkesztése beállításÉrték mezőjében másolja ki a felhasználónevet és a jelszót későbbi használatra. A kapcsolati sztring lehetővé teszi, hogy privát végpontok mögött védett MySQL-adatbázishoz csatlakozzon. A titkos kódok közvetlenül az App Service-alkalmazásban vannak mentve, ami nem a legjobb. Ezt a konfigurációt meg fogja változtatni.
2. lépés: Kulcstár létrehozása a titkok biztonságos kezeléséhez.
- A felső keresőmezőbe írja be a "key vault" kifejezést, majd válassza ki a Marketplace>Key Vault lehetőséget.
- Az Erőforráscsoportban válassza az msdocs-laravel-mysql_group lehetőséget.
- A Key Vault nevében adjon meg egy nevet, amely csak betűkből és számokból áll.
- A Régióban válassza ki ugyanazt a helyet, mint az erőforráscsoport.
3. lépés: Biztonságossá teheti a kulcstartót egy privát végponttal.
- Válassza a Hálózatkezelés lapot.
- Törölje a Nyilvános hozzáférés engedélyezése jelölést.
- Válassza a Privát végpont létrehozása lehetőséget.
- Az Erőforráscsoportban válassza az msdocs-laravel-mysql_group lehetőséget.
- A párbeszédablakban, a Hely szakaszban válassza ki ugyanazt a helyet, mint az App Service alkalmazása.
- Írja be a(z) Név mezőbe, msdocs-laravel-mysqlVaultEndpoint.
- A Virtuális hálózatban válassza ki a virtuális hálózatot az msdocs-laravel-mysql_group csoportban.
- Az Alhálózatban válassza ki az elérhető kompatibilis alhálózatot.
- Kattintson az OK gombra.
- Válassza a Felülvizsgálat + létrehozás, majd a Létrehozás lehetőséget. Várja meg, amíg a kulcstár telepítése befejeződik. Látnia kell , hogy az üzembe helyezés befejeződött.
4. lépés: Hozza létre a MySQL-összekötőt.
- A felső keresősávban írja be az msdocs-laravel-mysql kifejezést, majd válassza ki az msdocs-laravel-mysql nevű App Service-erőforrást.
- Az App Service lap bal oldali menüjében válassza a Beállítások>szolgáltatás-összekötő lehetőséget.
- Válassza a Create gombot.
- Szolgáltatástípus esetén válassza a rugalmas MySQL-kiszolgáló adatbázisát.
- Rugalmas MySQL-kiszolgáló esetén válassza ki a kiszolgálót, például msdocs-laravel-mysql-server.
- MySQL-adatbázis esetén válassza ki az adatbázist, például msdocs-laravel-mysql-database.
5. lépés: A MySQL-összekötő hitelesítésének konfigurálása.
- Válassza a Hitelesítés lapot.
- Válassza a Kapcsolati karaktersort.
- A Password mezőbe illessze be a korábban másolt jelszót.
- Válassza a Titok tárolása a Key Vaultban lehetőséget.
- A Key Vault Connection alatt válassza a Új létrehozása lehetőséget. A Kapcsolódás létrehozása párbeszédablak megnyílik a szerkesztési párbeszédablak tetején.
6. lépés: Hozza létre a Key Vault-kapcsolatot.
- A Csatlakozás létrehozása párbeszédablakban a Key Vault kapcsolathoz, a Key Vault-ban válassza ki a korábban létrehozott kulcstartó-tárolót.
- Válassza a Felülvizsgálat és létrehozás lehetőséget.
- Ha az ellenőrzés befejeződött, válassza a lehetőséget alétrehozásához.
7. lépés: Véglegesítse a MySQL-összekötő beállításait.
- Visszatér a MySQL-összekötő párbeszédpanelre. A hitelesítés fülön várja meg, amíg a kulcstároló csatlakozó létrejön. Ha elkészült, a Key Vault-kapcsolat automatikusan kiválasztja.
- Válassza a Felülvizsgálat és létrehozás lehetőséget.
- Válassza a Create gombot. Várjon, amíg megjelenik a A frissítés sikeres volt értesítés.
8. lépés: Konfigurálja a Redis-összekötőt a Key Vault titkos kulcsainak használatára.
- A Szolgáltatáskapcsolók oldalon jelölje be a Cache for Redis kapcsoló melletti jelölőnégyzetet, majd válassza az Szerkesztés lehetőséget.
- Válassza a Hitelesítés lapot.
- Válassza a Titok tárolása a Key Vaultban lehetőséget.
- A(z) Key Vault Connection alatt válassza ki a kulcstárat, amit létrehozott.
- Válassza a Tovább: Hálózatkezelés lehetőséget.
- Válassza a Tűzfal szabályok konfigurálása a cél szolgáltatás elérésének engedélyezéséhez lehetőséget. Az alkalmazás készítési varázsló már biztosította az SQL adatbázist egy privát végponttal.
- Válassza az Mentésgombot. Várjon, amíg megjelenik a A frissítés sikeres volt értesítés.
9. lépés: Ellenőrizze a Key Vault integrációját.
- A bal oldali menüben válassza ismét a Beállítások>környezet változói lehetőséget.
- A AZURE_MYSQL_PASSWORD mellett válassza az Érték megjelenítése lehetőséget. Az értéknek
@Microsoft.KeyVault(...)kell lennie, ami azt jelenti, hogy ez egy kulcs tárhely hivatkozás, mert a titok most már a kulcs tárhelyen van kezelve. - A Redis kapcsolati karakterlánc ellenőrzéséhez válassza a Érték megjelenítése lehetőséget az AZURE_REDIS_CONNECTIONSTRING mellett.
Összefoglalva, a kapcsolat titkainak biztosításához szükséges folyamat a következőket tartalmazta:
- Az App Service alkalmazás környezeti változóiból kapcsolati titkok visszakeresése.
- Kulcstároló létrehozása.
- Rendszer által hozzárendelt felügyelt identitással létrehozni egy Key Vault kapcsolatot.
- Frissítjük a szolgáltatáskapcsolókat, hogy a titkokat a kulcstárolóban tárolják.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Laravel-változók konfigurálása
1. lépés: Hozza létre CACHE_DRIVER alkalmazásbeállításként.
- A webalkalmazásban válassza a Beállítások>környezet változói lehetőséget.
- Az Alkalmazásbeállítások lapon válassza a Hozzáadás lehetőséget.
- A Név mezőbe írja be a CACHE_DRIVER.
- Az Érték mezőben adja meg a redis értéket.
- Válassza az Alkalmaz lehetőséget, majd megint az Alkalmaz opciót, végül a Megerősítés lehetőséget.
2. lépés: Az 1. lépésben ismertetett lépésekkel hozza létre az alábbi alkalmazásbeállításokat. A befejezés után válassza az Alkalmaz elemet az alkalmazásbeállítások frissítéséhez.
- MYSQL_ATTR_SSL_CA: Használja a /home/site/wwwroot/ssl/DigiCertGlobalRootCA.crt.pem értéket. Ez az alkalmazásbeállítás a MySQL-kiszolgáló eléréséhez szükséges TLS/SSL-tanúsítvány elérési útjára mutat. Ez szerepel a mintaadattárban.
- LOG_CHANNEL: Használja értékként a stderr-t. Ez a beállítás arra utasítja a Laravelt, hogy a naplókat a stderrbe csövezza, ami elérhetővé teszi az App Service-naplók számára.
- APP_DEBUG: Az érték legyen igaz. Ez egy Laravel hibakeresési változó , amely lehetővé teszi a hibakeresési módú oldalakat.
- APP_KEY: Használja base64:Dsz40HWwbCqnq0oxMsjq7fItmKIeBfCBGORfspaI1Kw= értékként. Ez egy Laravel titkosítási változó.
Fontos
A APP_KEY értéket itt a kényelem érdekében használják. Éles forgatókönyvek esetén a parancsot kifejezetten az üzembe helyezéshez php artisan key:generate --show kell létrehozni a parancssorban.
Ideális esetben a APP_KEY alkalmazásbeállítást kulcstárház referencia formájában is konfigurálni kellene, ami egy több lépésből álló folyamat. További információért lásd: Hogyan módosíthatom az APP_KEY alkalmazás-beállítást egy Key Vault hivatkozásra?
Mintakód üzembe helyezése
Ebben a lépésben konfigurálja a GitHub üzembe helyezését a GitHub Actions használatával. Ez csak egy a sok lehetőség közül, amivel telepítheti az App Service-t, de egyben nagyszerű módja annak is, hogy folyamatos integráció legyen a telepítési folyamatában. Alapértelmezés szerint minden git push a GitHub tárházadba elindítja az építési és telepítési műveletet.
1. lépés: Térjen vissza a minta elágazás GitHub-kódterébe, és futtassa le a git pull origin main parancsot.
Ez a parancs betölti a frissen elkötelezett munkafolyamat-fájlt a kódtérbe.
2. lépés (1. lehetőség: a GitHub Copilottal):
- Indítson új csevegési munkamenetet úgy, hogy kiválasztja a Chat nézetet, majd a + lehetőséget.
- Kérdezze meg: "@workspace Hogyan csatlakozik az alkalmazás az adatbázishoz és a redishez?" A Copilot adhat némi magyarázatot arra, hogyan vannak beállítva a beállítások a config/database.php fájlban.
- Kérdezze meg a következőt: "@workspace Éles módban az alkalmazásom egy App Service-webalkalmazásban fut, amely az Azure Service Connector használatával csatlakozik egy rugalmas MySQL-kiszolgálóhoz. Milyen környezeti változóneveket kell használnom?" Előfordulhat, hogy a Copilot a 2. lehetőséghez hasonló kódjavaslatot ad : a GitHub Copilot lépései nélkül , és még a konfiguráció/database.php fájl módosítását is meg kell adnia.
- Nyissa meg az config/database.php fájlt a felfedezőben, és adja hozzá a kódjavaslatot.
- Kérdezze meg a következőt: "@workspace Az App Service-alkalmazás az Azure Service Connector használatával is csatlakozik a Cache for Redishez a Django-ügyféltípus használatával. Milyen környezeti változóneveket kell használnom?" Előfordulhat, hogy a Copilot a 2. lehetőséghez hasonló kódjavaslatot ad : a GitHub Copilot lépései nélkül , és még a konfiguráció/database.php fájl módosítását is meg kell adnia. Ha a rendszer kéri, jelentkezzen be a GitHub Copilot for Azure szolgáltatásba, hogy pontosabb válaszokat kapjon.
- Adja hozzá a kódjavaslatot.
A GitHub Copilot nem ad mindig ugyanazt a választ, és nem mindig helyes. Érdemes lehet több kérdést feltenni, hogy finomhangolja a választ. További tippekért lásd: Mit tehetek a GitHub Copilottal a kódszerkesztési térben?.
2. lépés (2. lehetőség: a GitHub Copilot nélkül):
- Nyisd meg a config/database.php fájlt az explorerben. Keresse meg a
mysqlszakaszt, és végezze el a következő módosításokat: - Cserélje le
DB_HOSTa (49. sor) elemet a helyéreAZURE_MYSQL_HOST. - Cserélje le
DB_DATABASE(51. sor) a helyéreAZURE_MYSQL_DBNAME. - Cserélje le
DB_USERNAME(52. sor) a helyéreAZURE_MYSQL_USERNAME. - Cserélje le
DB_PASSWORD(53. sor) a helyéreAZURE_MYSQL_PASSWORD. - Cserélje le
DB_PORT(50. sor) a helyéreAZURE_MYSQL_PORT. - Görgessen le a Redis
cacheszakaszhoz, és végezze el a következő módosításokat: - Cserélje le
REDIS_HOSTa (142. sor) elemet aAZURE_REDIS_HOSThelyére. - Cserélje le
REDIS_PASSWORDa (144. sor) elemet a helyéreAZURE_REDIS_PASSWORD. - Cserélje le
REDIS_PORT(145. sor) a helyéreAZURE_REDIS_PORT. - Cserélje le a 146. sorban lévő
REDIS_CACHE_DBelemetAZURE_REDIS_DATABASE-re. - Ugyanebben a szakaszban adj hozzá egy sort
'scheme' => 'tls',. Ez a konfiguráció megadja a Laravel számára, hogy titkosítást használjon a Redishez való csatlakozáshoz.
3. lépés:
- Válassza a Source Control kiterjesztést.
- A szövegmezőbe írjon be egy véglegesítési üzenetet, például az Azure-adatbázis- és gyorsítótár-kapcsolatok konfigurálását. Vagy válassza ki a
, és hagyja, hogy a GitHub Copilot generáljon egy commit üzenetet önnek. - Válassza a Commit lehetőséget, majd erősítse meg a Igen gombbal.
- Válassza a Sync changes 1 lehetőséget, majd erősítse meg a OK gombbal.
4. lépés:
- Az Azure Portalon nyissa meg a webalkalmazást, majd válassza az Üzembe helyezési>központ lehetőséget.
- Válassza a Naplók lehetőséget, majd a Frissítés lehetőséget az új üzembe helyezés futtatásának megtekintéséhez.
- A telepítési futtatás naplóelemében válassza ki a legfrissebb időbélyeggel rendelkező Build/Deploy Logs bejegyzést.
5. lépés: A rendszer a GitHub-adattárba viszi, és láthatja, hogy a GitHub-művelet fut. A munkafolyamat fájl két különálló szakaszt határoz meg: építés és telepítés. Várja meg, amíg a GitHub futtatása Sikeres állapotot mutat. Körülbelül 10 percet vesz igénybe.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Adatbázisséma létrehozása
A létrehozó varázsló egy privát végpontra helyezi a MySQL adatbázis-szervert, így az csak a virtuális hálózaton keresztül érhető el. Mivel az App Service alkalmazás már integrálva van a virtuális hálózattal, a legegyszerűbb módja annak, hogy adatbázis-migrációkat hajts végre az adatbázisoddal, az, hogy közvetlenül az App Service konténerből futtasd őket.
1. lépés: Vissza az App Service lapra a bal oldali menüben:
- Válassza a Development Tools>SSH lehetőséget.
- Válassza az Indít elemet.
2. lépés: Az SSH terminálban:
- Futtassa a
cd /home/site/wwwrootprogramot. Itt vannak az összes telepített fájlod. - Futtassa a
php artisan migrate --forceprogramot. Ha sikerül, az App Service sikeresen csatlakozik a MySQL-adatbázishoz.
Jótanács
Az SSH munkamenetben csak a /home fájlokban végrehajtott módosítások maradhatnak meg az alkalmazás újraindításai után. A /home-n kívüli módosítások nem maradnak meg.
Webhely gyökerének módosítása
A Laravel-alkalmazás életciklusa a /public könyvtárban kezdődik. Az App Service alapértelmezett PHP-tárolója az Nginxet használja, amely az alkalmazás gyökérkönyvtárában kezdődik. A webhelygyökér módosításához módosítania kell az Nginx konfigurációs fájlt a PHP-tárolóban (/etc/nginx/sites-available/default). A mintaadattár egy alapértelmezett nevű egyéni konfigurációs fájlt tartalmaz. Ahogy korábban már említettük, nem szeretné lecserélni ezt a fájlt az SSH shell használatával. A módosítás a /home kívül esik, és az alkalmazás újraindítása után elvész.
1. lépés:
- A bal oldali menüben válassza a Beállítások konfigurációja lehetőséget>.
- Válassza a Általános beállítások fület.
2. lépés: Az Általános beállítások lapon:
- A Startup Command mezőbe írja be a következő parancsot: cp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reload.
- Válassza a Mentés, majd a Folytatás lehetőséget. A parancs lecseréli az Nginx konfigurációs fájlt a PHP konténerben, és újraindítja az Nginx-et. Ez a konfiguráció biztosítja, hogy minden indításkor ugyanaz a változtatás történjen meg a tárolón.
Keresse meg az alkalmazást
1. lépés: Az App Service oldalán:
- A bal oldali menüből válassza az Áttekintés lehetőséget.
- Válassza ki az alkalmazás alapértelmezett tartományát.
2. lépés: Adj hozzá néhány feladatot a listához. Gratulálok, biztonságos, adatközpontú PHP alkalmazást futtatsz az Azure App Service-ben.
Jótanács
A mintaalkalmazás a cache-aside mintát valósítja meg. Amikor az oldalt újratöltik az adatok módosítása után, a weboldalon a Válaszidő sokkal gyorsabb időt mutat, mert az adatokat a gyorsítótárból tölti be az adatbázis helyett.
Diagnosztikai naplók streamelése
Az Azure App Service rögzíti a konzolra naplózott összes üzenetet, hogy segítsen az alkalmazással kapcsolatos problémák diagnosztizálásában. A mintaalkalmazás minden végpontján konzolnapló-üzeneteket ad ki, hogy bemutassuk ezt a képességet. Alapértelmezés szerint a Laravel naplózási funkciója, például Log::info(), egy helyi fájlba írja ki az eredményt. A korábbi LOG_CHANNEL alkalmazásbeállítás a naplóbejegyzéseket elérhetővé teszi az App Service naplófolyamon keresztül.
1. lépés: Az App Service oldalán:
- A bal oldali menüben válassza azApp Service-naplók> lehetőséget.
- Az Alkalmazásnaplózás területen válassza a Fájlrendszer lehetőséget.
2. lépés: A bal oldali menüből válassza a Naplófolyam lehetőséget. Ön látja az alkalmazás naplóit, beleértve a platformnaplókat és a konténer belsejéből származó naplókat.
Az erőforrások felszabadítása
Amikor befejezted, törölheted az összes erőforrást az Azure előfizetésedből úgy, hogy törlöd az erőforráscsoportot.
1. lépés: Az Azure portál tetején lévő keresősávban:
- Adja meg az erőforráscsoport nevét.
- Válassza ki az erőforráscsoportot.
2. lépés: A erőforráscsoport oldalán válassza az Erőforráscsoport törlése lehetőséget.
3. lépés:
- A törlés megerősítéséhez adja meg az erőforráscsoport nevét.
- Válassza a Törlés lehetőséget.
Azure-erőforrások létrehozása és mintaalkalmazás üzembe helyezése
Ebben a lépésben létrehozza az Azure-erőforrásokat, és üzembe helyez egy mintaalkalmazást a Linuxon futó App Service-ben. A bemutatóban használt lépések egy biztonságos alapértelmezett beállításokkal rendelkező erőforráskészletet hoznak létre, amely tartalmazza az App Service-t és az Azure Database for MySQL-t.
A GitHub-kódhely már tartalmazza az Azure Developer CLI (AZD) eszközt.
Generálj egy Laravel titkosítási kulcsot a
php artisan key:generate --showsegítségével:php artisan key:generate --showAz Azure-ba való belépéshez futtassa a
azd auth loginparancsot, és kövesse az utasításokat.azd auth loginHozza létre a szükséges Azure erőforrásokat, és telepítse az alkalmazáskódot a
azd upparancs segítségével. Kövesse a felszólítást, hogy válassza ki a kívánt előfizetést és helyszínt az Azure erőforrásokhoz.azd upAmikor a rendszer kéri, adja meg a következő válaszokat:
Kérdés Válasz Adjon meg egy új környezetnevet Írjon be egy egyedi nevet. Az AZD sablon ezt a nevet használja a DNS név részeként az Azure-ban található webalkalmazásához ( <app-name>-<hash>.azurewebsites.net). Alfanumerikus karakterek és kötőjelek engedélyezettek.Válasszon ki egy Azure-előfizetést a használathoz Válassza ki az előfizetését. Válasszon egy Azure helyet, amelyet használni szeretne Válasszon egy helyet. Adjon meg egy értéket az 'appKey' infrastruktúra biztosított paraméteréhez. Használja itt a php artisan key:generate --showkimenetét. Az AZD sablon egy Key Vault titkot hoz létre az alkalmazásához, amelyet használhat az alkalmazásában.Adjon meg egy értéket a 'databasePassword' infrastruktúra biztonságos paraméterhez. MySQL adatbázis jelszó Legalább 8 karakter hosszúnak kell lennie, és nagybetűket, kisbetűket, számokat és speciális karaktereket kell tartalmaznia. A
azd upparancs végrehajtása körülbelül 15 percet vesz igénybe. A Redis-gyorsítótár a legtöbb időt igénybe veszi. A parancs emellett lefordítja és üzembe helyezi az alkalmazáskódot, de később módosítja a kódot, hogy működjön az App Service-lel. Amíg fut, a parancs üzeneteket küld a kiépítési és üzembe helyezési folyamatról, beleértve az Azure-beli üzembe helyezésre mutató hivatkozást is. Amikor befejeződik, a parancs egy hivatkozást is megjelenít az üzembe helyezési alkalmazásra.Ez az AZD sablon olyan fájlokat tartalmaz (azure.yaml és a infra könyvtár), amelyek alapértelmezett módon biztonságos architektúrát hoznak létre a következő Azure-erőforrásokkal:
- Erőforráscsoport: Az összes létrehozott erőforrás tárolója.
- App Service plan: Meghatározza az App Service számítási erőforrásait. Létrehoztak egy Linux tervet a B1 szinthez.
- App Service: Az alkalmazásodat képviseli és az App Service tervben fut.
- Virtuális hálózat: Integrálva az App Service alkalmazással, és elkülöníti a háttérhálózati forgalmat.
- Azure Database for MySQL Flexible Server: Csak a virtuális hálózaton keresztül érhető el a DNS zóna integráción keresztül. Létrehoznak egy adatbázist az ön számára a szerveren.
- Azure Cache for Redis: Csak a virtuális hálózaton belülről érhető el.
- Private endpoints: Elérési végpontok a kulcstárolóhoz és a Redis cache-hez a virtuális hálózatban.
- Privát DNS zónák: Lehetővé teszik a kulcsértár, az adatbázis-szerver és a Redis cache DNS-feloldását a virtuális hálózatban.
- Log Analytics munkaterület: Ez a célkörnyezet az alkalmazás naplóinak továbbítására, ahol a naplókat is lekérdezheti.
- Key vault: Az adatbázis jelszavának azonosan tartására szolgál, amikor az AZD-vel újratelepít.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Azure-kapcsolati sztringek használata az alkalmazáskódban
A használt AZD-sablon már alkalmazásbeállításokként létrehozta a kapcsolati változókat, és a terminálon adja ki őket. Az alkalmazásbeállítások az egyik módja annak, hogy a kapcsolati titkokat távol tartsuk a kódrepozitóriumodtól.
Az AZD kimenetben keresse meg azokat az alkalmazásbeállításokat, amelyek
AZURE_MYSQL_ésAZURE_REDIS_kezdetűek. Csak a beállítások nevei jelennek meg. Így néznek ki az AZD kimenetében:App Service app has the following app settings: - AZURE_KEYVAULT_RESOURCEENDPOINT - AZURE_KEYVAULT_SCOPE - AZURE_MYSQL_DBNAME - AZURE_MYSQL_FLAG - AZURE_MYSQL_HOST - AZURE_MYSQL_PASSWORD - AZURE_MYSQL_PORT - AZURE_MYSQL_USERNAME - AZURE_REDIS_DATABASE - AZURE_REDIS_HOST - AZURE_REDIS_PASSWORD - AZURE_REDIS_PORT - AZURE_REDIS_SSLA kezdeti
AZURE_MYSQL_beállítások a MySQL-adatbázis kapcsolatváltozói. Azok a beállítások, amelyekAZURE_REDIS_-vel kezdődnek, a Redis cache-hez tartoznak. Később használnod kell őket a kódodban. Az AZD-sablon az alkalmazás alkalmazásbeállítási oldalára mutató közvetlen hivatkozást jeleníti meg az Azure Portalon.A fájlkezelőben nyissa meg a config/database.php fájlt. Ez a fájl az adatbázis- és Redis-gyorsítótár-kapcsolatok konfigurációs fájlja.
Keresse meg azt a részt, amely meghatározza a
mysqlkapcsolatot (46-64. sorok), és cserélje ki aDB_HOST,DB_PORT,DB_DATABASE,DB_USERNAMEésDB_PASSWORDelemeket az AZD kimenetAZURE_MYSQL_alkalmazásbeállításaival. A(z)mysqlkapcsolatnak a következő kódhoz hasonlónak kell lennie.'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('AZURE_MYSQL_HOST', '127.0.0.1'), 'port' => env('AZURE_MYSQL_PORT', '3306'), 'database' => env('AZURE_MYSQL_DBNAME', 'forge'), 'username' => env('AZURE_MYSQL_USERNAME', 'forge'), 'password' => env('AZURE_MYSQL_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],További információért a Laravel adatbázis konfigurálásával kapcsolatban, lásd a Laravel dokumentáció.
Keresse meg azt a részt, amely meghatározza a Redis gyorsítótár kapcsolatát (a 140-147. sorokban), és cserélje le a
REDIS_HOST,REDIS_PASSWORD,REDIS_PORTésREDIS_CACHE_DBelemeket az AZD kimenetéből származóAzure_REDIS_alkalmazásbeállításokra. Továbbá, add'scheme' => 'tls',a kapcsolatba. A gyorsítótár-kapcsolatnak a következő kódnak kell kinéznie:'cache' => [ 'scheme' => 'tls', 'url' => env('REDIS_URL'), 'host' => env('AZURE_REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('AZURE_REDIS_PASSWORD'), 'port' => env('AZURE_REDIS_PORT', '6379'), 'database' => env('AZURE_REDIS_DATABASE', '1'), ],További információkért a Redis gyorsítótár konfigurációjáról Laravelben tekintse meg a Laravel dokumentációt.
Megjegyzés:
Ne feledd, hogy a változtatásaid még nincsenek telepítve. A következő lépés végén üzembe helyezheti őket.
Laravel-beállítások konfigurálása a webalkalmazásban
A böngészőből nyissa meg a infra/resources.bicep fájlt. Ez a fájl a létrehozott Azure-erőforrásokat meghatározó Bicep-fájl.
Keresd meg azt a részt, amely az alkalmazás beállításait határozza meg (510-514. sorok), és töröld a kommentelést róluk. Ezek az alkalmazásbeállítások:
Beállítás Leírás CACHE_DRIVERMegmondja a Laravel-nek, hogy a Redis-t használja gyorsítótárként (lásd Laravel dokumentáció). MYSQL_ATTR_SSL_CASzükséges megnyitni egy TLS kapcsolatot a MySQL-hez az Azure-ban. A tanúsítvány fájl a mintatárolóban található a kényelem érdekében. Ezt a változót az config/database.php fájlban a mysql kapcsolat használja. LOG_CHANNELArra utasítja a Laravelt, hogy a naplókat továbbítsa stderr-hoz, amely így elérhetővé válik az App Service naplóiban (lásd a Laravel dokumentációját).APP_DEBUGEngedélyezze a hibakeresési mód oldalak használatát Laravelben (lásd Laravel dokumentáció). APP_KEYLaravel titkosítási változó. Az AZD-sablon már létrehozott egy Key Vault-titkos kulcsot (212–217. sor), így egy Key Vault-hivatkozással érheti el. Keresse meg az infra/resources.bicep fájlban az App Service alkalmazás erőforrás definícióját, és kommentelje vissza a 315. sort.
appCommandLine: 'cp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reload'A Laravel alkalmazás életciklusa az alkalmazásgyökér helyett a /public könyvtárban kezdődik. Az App Service alapértelmezett PHP tárolója az Nginx-et használja, amely az alkalmazás gyökerében indul. A webhelygyökér módosításához módosítania kell az Nginx konfigurációs fájlt a PHP-tárolóban (/etc/nginx/sites-available/default).
A mintaadattár egy alapértelmezett nevű helyettesítő konfigurációs fájlt tartalmaz, amely arra utasítja az Nginxet, hogy keresse meg a /public könyvtárat. Az alkalmazás minden indításakor a
appCommandLineegyéni parancs fut, hogy a fájlcsere minden alkalommal végrehajtásra kerüljön, amikor a Linux-konténer tiszta állapotból újratöltődik.Térjen vissza a codespace terminálhoz, és futtassa újra a
azd upparancsot.azd up
Jótanács
azd up fut, azd package, azd provision és azd deploy együtt, mert mind az infrastruktúrát, mind az alkalmazásokat módosítja. Kizárólag infrastruktúra módosítások végrehajtásához futtassa a azd provision-t. Ahhoz, hogy csak az alkalmazáskód módosításait telepítse, futtassa azd deploy.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Adatbázisséma létrehozása
Azáltal, hogy a MySQL adatbázist a virtuális hálózat védi, a Laravel adatbázis-migrációk futtatásának legegyszerűbb módja az SSH kapcsolat a Linux konténerrel az App Service-ben.
Az AZD kimenetében keresse meg az SSH-munkamenet URL-jét, és nyissa meg a böngészőben. Így jelenik meg a kimenetben:
Open SSH session to App Service container at: <URL>Az SSH munkamenetben futtassa az adatbázis-migrációkat a /home/site/wwwroot könyvtárból.
cd /home/site/wwwroot php artisan migrate --forceHa sikeres, az App Service sikeresen csatlakozik az adatbázishoz.
Megjegyzés:
Csak az /home fájlokban végrehajtott módosítások maradhatnak meg az alkalmazás újraindítása után is.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Keresse meg az alkalmazást
Az AZD-kimenetben keresse meg az alkalmazás URL-címét, és keresse meg a böngészőben. Az URL-cím így néz ki az AZD-kimenetben:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>Adj hozzá néhány feladatot a listához.
Gratulálunk, Ön futtat egy webalkalmazást az Azure App Service-ben, biztonságos kapcsolattal az Azure Database for MySQL-hoz.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Diagnosztikai naplók streamelése
Az Azure App Service rögzíti a konzolra naplózott összes üzenetet, hogy segítsen az alkalmazással kapcsolatos problémák diagnosztizálásában. A kényelem érdekében az AZD sablon már engedélyezte a naplózást a helyi fájlrendszerbe, és a naplókat egy Log Analytics munkaterületre továbbítja.
A mintaalkalmazás minden végpontján konzolnapló-üzeneteket ad ki, hogy bemutassuk ezt a képességet. Alapértelmezés szerint a Laravel naplózási funkciója, például Log::info(), egy helyi fájlba írja ki az eredményt. A korábbi LOG_CHANNEL alkalmazásbeállítás a naplóbejegyzéseket elérhetővé teszi az App Service naplófolyamon keresztül.
Route::get('/', function () {
Log::info("Get /");
$startTime = microtime(true);
// Simple cache-aside logic
if (Cache::has('tasks')) {
$data = Cache::get('tasks');
} else {
$data = Task::orderBy('created_at', 'asc')->get();
Cache::add('tasks', $data);
}
return view('tasks', ['tasks' => $data, 'elapsed' => microtime(true) - $startTime]);
});
Az AZD kimenetében keresse meg az App Service naplók streamelésére szolgáló linket, és nyissa meg azt a böngészőben. A hivatkozás így néz ki az AZD kimenetében:
Stream App Service logs at: <URL>
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
Az erőforrások felszabadítása
Az aktuális telepítési környezet összes Azure-erőforrásának törléséhez futtassa a azd down parancsot, és kövesse az utasításokat.
azd down
Hibaelhárítás
Hibát kapok az adatbázis-migrációk során php_network_getaddresses: getaddrinfo for mysqldb failed: No address associated with hostname...
Azt jelzi, hogy a MySQL kapcsolatváltozók nincsenek megfelelően konfigurálva. Ellenőrizze, hogy az AZURE_MYSQL_ alkalmazásbeállítások megfelelően vannak-e konfigurálva az Azure-kapcsolati sztringek használata az alkalmazáskódban.
A böngészőben egy üres oldalt kapok.
Jelzi, hogy az App Service nem találja a PHP indítófájlokat a /public könyvtárban. Kövesse a Web App Laravel-beállításainak konfigurálása című témakörben leírt lépéseket.
A böngészőben egy hibakereső oldalt kapok, amely azt mondja, hogy Unsupported cipher or incorrect key length.
Az jelzi, hogy a APP_KEY beállítás egy érvénytelen kulcsra van állítva. Amikor futtatja a azd up-t, ügyeljen arra, hogy a appKey-t a php artisan key:generate --show kimenetére állítsa.
A böngészőben egy hibakereső oldalt kapok, amely azt mondja, hogy Uncaught Error: Class "Illuminate\..." not found.
Ez a hiba és a hasonló hibák arra utalnak, hogy nem futtatta a composer install a azd up előtt, vagy hogy a /vendor könyvtárban található csomagok elavultak. Futtassa újra composer install és azd deploy.
A böngészőben egy hibakereső oldalt kapok, amely azt mondja, hogy php_network_getaddresses: getaddrinfo for redishost failed: Name or service not known.
Ez azt jelzi, hogy a Redis kapcsolati változók nincsenek megfelelően konfigurálva. Ellenőrizze, hogy az AZURE_REDIS_ alkalmazásbeállítások megfelelően vannak-e konfigurálva az Azure-kapcsolati sztringek használata az alkalmazáskódban.
A böngészőben egy hibakereső oldalt kapok, amely azt mondja, hogy SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XXXX-XXXXXXXXX-mysql-database.tasks' doesn't exist
Ez azt jelenti, hogy nem hajtott végre adatbázismigrációkat, vagy az adatbázismigrációk nem voltak sikeresek. Kövesse az adatbázisséma létrehozása című témakörben leírt lépéseket.
Gyakran ismételt kérdések
- Mennyibe kerül ez a beállítás?
- Hogyan csatlakozhatok a MySQL adatbázishoz, amely virtuális hálózat mögött helyezkedik el más eszközökkel védve?
- Hogyan módosíthatom az APP_KEY alkalmazásbeállítást egy Key Vault hivatkozásra?
- Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actions-szel?
- Miért olyan lassú a GitHub Actions telepítése?
- Nincs jogosultságom felhasználó által hozzárendelt identitás létrehozásához
- Mit csinálhatok a GitHub Copilot-tal a kódtérben?
- Mennyibe kerül ez a beállítás?
- Hogyan csatlakozhatok a MySQL adatbázishoz, amely virtuális hálózat mögött helyezkedik el más eszközökkel védve?
- Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actions-szel?
- Miért olyan lassú a GitHub Actions telepítése?
- Nincs jogosultságom felhasználó által hozzárendelt identitás létrehozásához
- Mit csinálhatok a GitHub Copilot-tal a kódtérben?
Mennyibe kerül ez a beállítás?
A létrehozott erőforrások díjszabása a következő:
- Az App Service terv Basic rétegben lett létrehozva, és felfelé vagy lefelé skálázható. Lásd a App Service árazását.
- A MySQL rugalmas szerver B1ms szinten van létrehozva, és méretét felfelé vagy lefelé lehet módosítani. Az Azure ingyenes fiókkal a B1ms szint 12 hónapig ingyenes, a havi korlátokig. Tekintse meg az Azure Database for MySQL díjszabását.
- Az Azure Cache for Redis Alap szintű konfigurációban, minimális gyorsítótár mérettel jön létre. Egy kis díj kapcsolódik ehhez a szinthez. A teljesítményt magasabb szintre növelheted a nagyobb rendelkezésre állás, fürtképzés és egyéb funkciók érdekében. Tekintse meg Azure Cache for Redis árazását.
- A virtuális hálózat nem jár költséggel, hacsak nem konfigurál extra funkciókat, például az összekapcsolást. Tekintse meg az Azure Virtual Network díjszabását.
- A privát DNS-zóna kis díjat számít fel. Tekintse meg az Azure DNS díjszabását.
Hogyan csatlakozhatok a MySQL adatbázishoz, amely a virtuális hálózat mögött, más eszközökkel védve van?
- Az alapvető hozzáféréshez egy parancssori eszközről futtassa a(z)
mysqlparancsot az alkalmazás SSH termináljáról. - A MySQL Workbenchhez hasonló asztali eszközről való csatlakozáshoz a számítógépnek a virtuális hálózaton belül kell lennie. Ez lehet például egy Azure-beli virtuális gép, amely az egyik alhálózathoz csatlakozik, vagy egy helyszíni hálózat számítógépe, amely helyek közötti VPN-kapcsolattal rendelkezik az Azure-beli virtuális hálózattal.
- Azt is megteheti, hogy integrálja a Azure Cloud Shell-t a virtuális hálózattal.
Hogyan módosíthatom az APP_KEY alkalmazásbeállítást úgy, hogy egy Kulcstár-hivatkozásra mutasson?
A Laravel-változók konfigurálásával kapcsolatos Azure Portal-lépésekből Key Vault-referenciára válthat APP_KEY a Következő Azure CLI-parancsok futtatásával a GitHub-kódtérben:
# Change the following variables to match your environment
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
KEY_VAULT_NAME=<key-vault-name>
APP_SERVICE_NAME=<app-name>
SECRET_NAME=laravelAppKey
# Set the subscription ID
az account set --subscription $SUBSCRIPTION_ID
# Assign 'Key Vault Secrets Officer' role to your user at the scope of the key vault
az role assignment create \
--assignee $(az ad signed-in-user show --query id -o tsv) \
--role $(az role definition list --name "Key Vault Secrets Officer" --query "[].id" -o tsv) \
--scope $(az keyvault show --name $KEY_VAULT_NAME --resource-group $RESOURCE_GROUP --query id --output tsv)
# Add the secret to the key vault
az keyvault secret set \
--vault-name $KEY_VAULT_NAME \
--name $SECRET_NAME \
--value $(php artisan key:generate --show)
# Add Key Vault reference to the App Service configuration
az webapp config appsettings set \
--resource-group $RESOURCE_GROUP \
--name $APP_SERVICE_NAME \
--settings "APP_KEY=@Microsoft.KeyVault(SecretUri=https://$KEY_VAULT_NAME.vault.azure.net/secrets/$SECRET_NAME)"
Ugyanezt megteheti az Azure Portalon is. További információk:
Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actionsszel?
Példaként vegyük példaként az App Service automatikusan létrehozott munkafolyamat-fájlját. Mindegyik git push elindít egy új buildet és üzembe helyezési futtatást. GitHub tároló helyi másolatáról elvégezzük a kívánt frissítéseket, majd feltöltjük őket a GitHubra. Például:
git add .
git commit -m "<some-message>"
git push origin main
Miért olyan lassú a GitHub Actions telepítése?
Az App Service automatikusan létrehozott munkafolyamat-fájlja meghatározza az építsd- és telepítsd folyamatot, valamint két feladat futtatását. Mivel minden feladat a saját tiszta környezetében fut, a munkafolyamat-fájl biztosítja, hogy a deploy feladat hozzáférhessen a build feladat fájljaihoz:
- A munka
buildvégén töltsd fel a fájlokat mint artefaktum. - A
deployfeladat kezdetekor töltsd le az arifaktumokat.
A kétfeladatos folyamat során az idő nagy részét a fájlok feltöltése és letöltése veszi igénybe. Ha szeretné, egyszerűsítheti a munkafolyamat fájlt úgy, hogy a két feladatot egyesíti, mely megszünteti a feltöltési és letöltési lépések szükségességét.
Nincs jogosultságom egy felhasználó által hozzárendelt identitás létrehozásához
Nézd meg a GitHub Actions telepítés beállítását a Telepítési Központból .
Mit tehetek a GitHub Copilottal a kódteremben?
** Észreveheti, hogy a GitHub Copilot csevegőnézete már ott volt az Ön számára, amikor létrehozta a kódteret. Az Ön kényelme érdekében a konténer definícióba beépítettük a GitHub Copilot chat kiterjesztést (lásd .devcontainer/devcontainer.json). Azonban szükséged van egy GitHub Copilot fiókra (30 napos ingyenes próbaidőszak elérhető).
Néhány tipp, amikor a GitHub Copilot-tal beszélgetsz:
- Egyetlen chatbeszélgetés során a kérdések és válaszok egymásra épülnek, és finomíthatja kérdéseit, hogy pontosabb választ kapjon.
- Alapértelmezés szerint a GitHub Copilot nem fér hozzá a tárhelyed egyetlen fájljához sem. A fájlokkal kapcsolatos kérdések feltevése előtt nyissa meg a fájlt a szerkesztőben.
- Annak érdekében, hogy a GitHub Copilot hozzáférjen a tároló összes fájljához a válaszok előkészítése során, kezdje a kérdést a
@workspace-val. További információ: Use the @workspace agent. - A csevegési munkamenetben a GitHub Copilot javasolhat módosításokat
@workspace, és akár azt is, hogy hol végezze el a módosításokat, de nem hajthatja végre azokat helyetted. Rajtad áll, hogy hozzáadd a javasolt változtatásokat, és teszteld azokat.
Kapcsolódó tartalom
Lépjen tovább a következő oktatóanyagra, hogy megtanulja, hogyan biztosíthatja alkalmazását egyéni domain-nel és tanúsítvánnyal.
Vagy tekintse át ezt az erőforrást: