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 útmutató bemutatja, hogyan hozhat létre egy biztonságos PHP alkalmazást az Azure App Service-ben, amely csatlakozik egy MySQL adatbázishoz (az Azure Database for MySQL Flexible Server használatával). Az alkalmazásában lévő gyorsítótárazási kód engedélyezéséhez telepít egy Azure Cache for Redis-t. 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. Miután elkészültél, lesz egy Laravel alkalmazásod, amely az Azure App Service-en fut Linuxon.
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ő.
1 - Futtassa a mintát
Először állíts be egy mintát adatvezérelt alkalmazást kiindulási pontként. Az Ön kényelme érdekében a minta tároló tartalmaz egy fejlesztői konténer 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:
- Válassza a Code> létrehozása) lehetőséget a főoldalon.
A kódtér beállítása néhány percet vesz igénybe. Emellett a megadott .env fájl már tartalmaz egy próbaváltozót
APP_KEY
, amelyet a Laravelnek helyileg kell futtatnia.
3. lépés: A codespace terminálban:
- Futtassa a
composer install
programot. - Hajtsa végre az adatbázis-migrációkat
php artisan migrate
segí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. Az alkalmazás mintapéldáját meg kellene látnia egy új böngészőfülön. Az alkalmazás leállításához írja beCtrl
+C
.
Problémákat tapasztal? Nézze meg a Hibaelhárítás szakaszt.
2 - Alkalmazásszolgáltatás, 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. A DNS-név részeként is használatos az alkalmazásához.
- 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áscsoport lehetővé teszi, hogy egy logikai tárolón belül csoportosítsuk az alkalmazáshoz szükséges összes Azure-erőforrást.
Jelentkezzen be az Azure portálra, és 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>. Arra is navigálhat a létrehozási varázsló-ra közvetlenül.
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-XYZ. Létrejön egy msdocs-laravel-mysql-XYZ_group nevű erőforráscsoport.
- 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-XYZ nevet.
- Tarifacsomag: Alapszintű. Ha készen áll, áttérhet egy másik tarifacsomagra.
3. lépés:
- Válassza az Adatbázis lapot.
- 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:
- Válassza az Üzembe helyezés lapot.
- 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. Miután a telepítés befejeződött, válassza a Forrás megtekintése gombot. Közvetlenül az App Service alkalmazáshoz jut, de a következő erőforrások jönnek 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.
3 - Biztonságos kapcsolat titkok
A létrehozási varázsló már alkalmazásbeállításokként létrehozta a kapcsolati változókat. A biztonsági legjobb gyakorlat az, hogy az App Service-ből teljesen távol tartsuk a titkokat. Át fogod költöztetni a titkairat egy kulcstartóba, és megváltoztatod az alkalmazás beállítását a Key Vault hivatkozások lehetőségre a Service Connectors segítségével.
1. lépés: Az aktuális kapcsolati karakterlánc lekérése
- Az App Service oldal bal oldali menüjében válassza a Beállítások > Környezeti változók 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. Azonban a titkok közvetlenül az App Service alkalmazásban vannak elmentve, ami nem a legjobb. Ezt meg fogod változtatni.
2. lépés: Hozzon létre egy kulcstartót a titkos adatok biztonságos kezelésére
- 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-XYZ_group lehetőséget.
- A Key vault név mezőbe írjon be egy nevet, amely csak betűkből és számokból áll.
- A Régió mezőben állítsa be ugyanarra a helyre, mint a erőforráscsoport.
3. lépés: Biztosítsa a kulcstároló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-XYZ_group lehetőséget.
- A párbeszédablakban, a Hely szakaszban válassza ki ugyanazt a helyet, mint az App Service alkalmazása.
- A Név mezőbe írja be: msdocs-laravel-mysql-XYZVaultEndpoint.
- A Virtuális hálózatban válassza ki a virtuális hálózatot az msdocs-laravel-mysql-XYZ_group csoportban.
- Az Alhálózatban válassza ki az elérhető kompatibilis alhálózatot. A Webalkalmazás varázsló az Ön kényelme érdekében hozta létre.
- 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átni fogod, hogy "A telepítésed befejeződött."
4. lépés: A MySQL-összekötő létrehozása
- A fenti keresősávba írja be a msdocs-laravel-mysql, majd válassza ki az App Service erőforrást, amelyet msdocs-laravel-mysql-XYZ néven hívnak.
- Az App Service oldalán, a bal oldali menüben válassza a beállításokat Service Connector>-t.
- 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-235-server).
- MySQL-adatbázis esetén válassza ki az adatbázist (például msdocs-laravel-mysql-235-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: A Key Vault-kapcsolat létrehozása
- 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.
6. lépés: A MySQL csatlakozó beállításainak véglegesítése
- 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. Amikor elkészült, a Key Vault Connection legördülő lista automatikusan kiválasztja azt.
- 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.
7. lépés: A Redis csatlakozó konfigurálása a Key Vault titkai használatával
- 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.
8. lépés: A Key Vault integrációjának ellenőrzése
- A bal oldali menüből válassza a Beállítások > Környezeti változók lehetőséget újra.
- 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.
4 – Laravel-változók konfigurálása
1. lépés: Hozza létre CACHE_DRIVER
alkalmazásbeállításként.
- 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 a következő alkalmazásbeállításokat:
- 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. A mintaadattárban található a kényelem érdekében.
- 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?
5 - Mintakód telepíté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 behúzza az újonnan 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: "@workspace Üzemelési módban az alkalmazásom az App Service webalkalmazásban fut, ami Azure Service Connector-t használ a MySQL rugalmas szerverhez való csatlakozáshoz. Milyen környezeti változóneveket kell használnom?" A Copilot valószínűleg egy kódjavaslatot ad az alábbi 2. lehetőség: GitHub Copilot nélkül lépésekhez hasonlóan, és akár azt is tanácsolhatja, hogy változtasson a config/database.php fájlban.
- Nyissa meg az config/database.php fájlt a felfedezőben, és adja hozzá a kódjavaslatot.
- Kérdezd meg: "@workspace Az Én App Service alkalmazásom az Azure Service Connector segítségével is csatlakozik a Cache for Redis-hez a Django kliens típus használatával. Milyen környezeti változónév(eke)t kell használnom?*" A Copilot adhat egy kódjavaslatot, amely hasonló az alábbi 2. lehetőség: GitHub Copilot nélkül lépésekhez, és azt is mondhatja, hogy módosítsa a config/database.php fájlt. 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
mysql
szakaszt, és végezze el a következő módosításokat: - Cserélje le
DB_HOST
a (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
cache
szakaszhoz, és végezze el a következő módosításokat: - Cserélje le
REDIS_HOST
a (142. sor) elemet aAZURE_REDIS_HOST
helyére. - Cserélje le
REDIS_PASSWORD
a (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_DB
elemetAZURE_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 mezőbe írjon be egy commit üzenetet, például
Configure Azure database and cache connections
. 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: Vissza az Üzembehelyezési központ lapra az Azure Portalon:
- Válassza a Naplók lapot, majd válassza a Frissítés lehetőséget az új bevezetési futás 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.
6 – 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 lap bal oldali menüjébe,
- 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/wwwroot
programot. Itt vannak az összes telepített fájlod. - Futtassa a
php artisan migrate --force
programot. 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.
7 – 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). Az Ön kényelme érdekében 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-felülettel, mert a módosítás a /home
-n kívül esik, és az alkalmazás /home
újraindítása után elveszik.
1. lépés:
- A bal oldali menüből válassza a Konfiguráció 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 fülön:
- 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.
8 – Menjen az alkalmazáshoz
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.
9 - Diagnosztikai naplók továbbítása
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 ír. 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 az App 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:
- Adja meg az erőforráscsoport nevét a törlés megerősítéséhez.
- Válassza a Törlés lehetőséget.
2. Hozzon létre Azure erőforrásokat és telepítsen egy példaalkalmazást
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 --show
segítségével:php artisan key:generate --show
Az Azure-ba való belépéshez futtassa a
azd auth login
parancsot, és kövesse az utasításokat.azd auth login
Hozza létre a szükséges Azure erőforrásokat, és telepítse az alkalmazáskódot a
azd up
parancs 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 up
Amikor 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 --show
kimeneté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 up
parancs körülbelül 15 perc alatt teljesül (a legtöbb időt a Redis cache veszi igénybe). Az alkalmazáskódját is lefordítja és telepíti, de később módosítja a kódját, hogy az működjön az App Service-szel. 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.
3. Használjon Azure kapcsolati karakterláncokat az alkalmazáskódban
Az AZD sablon, amit használ, már létrehozta a kapcsolódási változókat az Ön számára app settings formájában, és a kényelem érdekében kiírja őket a terminálra. 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_SSL
Az
AZURE_MYSQL_
kezdetű beállítások a MySQL adatbázis kapcsolatváltozói, míg aAZURE_REDIS_
kezdetű beállítások a Redis gyorsítótárhoz tartoznak. Később használnod kell őket a kódodban. Az ön kényelme érdekében az AZD sablon megmutatja a közvetlen linket az alkalmazás beállítási oldalához az Azure portálon.A fájlkezelőben nyissa meg a config/database.php fájlt. Ez a konfigurációs fájl az adatbázis és a Redis cache kapcsolatokhoz.
Keresse meg azt a részt, amely meghatározza a
mysql
kapcsolatot (46-64. sorok), és cserélje ki aDB_HOST
,DB_PORT
,DB_DATABASE
,DB_USERNAME
ésDB_PASSWORD
elemeket az AZD kimenetAZURE_MYSQL_
alkalmazásbeállításaival. A(z)mysql
kapcsolatnak 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_DB
elemeket 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 fogja őket bevetni.
4. 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 Bicep-fájl határozza meg a létrehozott Azure-erőforrásokat.
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_DRIVER
Megmondja a Laravel-nek, hogy a Redis-t használja gyorsítótárként (lásd Laravel dokumentáció). MYSQL_ATTR_SSL_CA
Szü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_CHANNEL
Arra 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_DEBUG
Engedélyezze a hibakeresési mód oldalak használatát Laravelben (lásd Laravel dokumentáció). APP_KEY
Laravel 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). Az ön kényelme érdekében a minta tár tartalmaz egy cserekonfigurációs fájlt, amelyet default-nak hívnak, és amely megmondja az Nginx-nek, hogy a /public könyvtárban keressen. Az alkalmazás minden indításakor a
appCommandLine
egyé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 up
parancsot.azd up
Jótanács
azd up
együtt futtatja a azd package
, azd provision
, és azd deploy
elemeket, és ez érthető, mert mind az infrastruktúra, mind az alkalmazás módosításokat végrehajtasz. 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.
5. Adatbázis sé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 --force
Ha 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.
6. Böngésszen az alkalmazáshoz
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.
7. Diagnosztikai naplók folyamata
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 ír. 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.
8. 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 a AZURE_MYSQL_
alkalmazás beállításai megfelelően vannak konfigurálva a 3. Alkalmazzon Azure kapcsolati láncokat az alkalmazás kó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 lépéseket a következő részben: 4. Laravel beállítások konfigurálása a webalkalmazásban.
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 a AZURE_REDIS_
alkalmazás beállításai megfelelően vannak konfigurálva a 3. Alkalmazzon Azure kapcsolati láncokat az alkalmazás kó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 5. Generálja az adatbázis séma lépéseit.
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)
mysql
parancsot az alkalmazás SSH termináljáról. - Ahhoz, hogy egy asztali eszközzel, például a MySQL Workbenchel csatlakozni tudj, a gépednek a virtuális hálózaton belül kell lennie. Például lehet egy Azure VM, amelyik csatlakozik az egyik alhálózathoz, vagy egy on-premises hálózatban lévő gép, amelynek van egy site-to-site VPN kapcsolata az Azure 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 portál lépéseiből a 4 - Laravel változók konfigurálása alatt megtalálja, hogyan változtathatja meg a APP_KEY
egy Key Vault hivatkozásra az alábbi 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)"
A portálon is megteheted ugyanezt. További információk:
Hogyan működik a helyi alkalmazásfejlesztés a GitHub Actionsszel?
Vegyük példaként az App Service által automatikusan generált munkafolyamat-fájlt, minden git push
elindít egy új build és telepítési futá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
build
végén töltsd fel a fájlokat mint artefaktum. - A
deploy
feladat 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és során a GitHub Copilot javasolhat változtatásokat, és (a
@workspace
segítségével) még azt is megmutathatja, hogy hol kell a módosításokat végrehajtani, de nem hajthatja végre a változtatásokat helyetted. Rajtad áll, hogy hozzáadd a javasolt változtatásokat, és teszteld azokat.
Következő lépések
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 nézze meg a többi forrást.