Vissza az eszközökhöz

Webfejlesztés

Vercel

A Vercel felügyelt platform: git pushból épít és telepít, áganként előnézeti környezetet ad, a szerveroldali kódot pedig függvényként futtatja.

3 perc olvasás

A Vercel felügyelt platform, amelyre a projekt a git előzményéhez kötve épül és települ: minden push új deployt indít, a nem produkciós ágak pedig saját előnézeti környezetet kapnak. A platform felismeri a használt keretrendszert, és magától alkalmazza a hozzá tartozó build- és futtatási beállításokat.

A kiszolgálás a platform saját hálózatán keresztül történik: a statikus kimenet a cache-rétegből megy ki, a szerveroldali kód pedig függvényként fut, amely kérésre indul és a forgalomhoz igazodva skálázódik.

A deploy modell

A leggyakoribb deployforrás egy csatolt git repó: minden commit és pull request új deployt indít, a produkciós ágra (jellemzően main) kerülő változás pedig produkciós deployt hoz létre. A platform három alapértelmezett környezetet tart nyilván: Local, Preview és Production, és minden deploy egyedi URL-t kap, amelyet meg lehet osztani ellenőrzésre. Deploy készülhet a CLI-vel (vercel előnézeti, vercel --prod produkciós módban), a dashboardról commit vagy ág megadásával, Deploy Hook URL meghívásával vagy a REST API-ból is; egy hibás kiadás újraépítés nélkül visszaállítható egy korábbi deployra.

  • A támogatott git szolgáltatók köre a GitHub, a GitLab, a Bitbucket, az Origin és az Azure DevOps Pipelines.
  • Az előnézeti környezetbe tetszőleges ág telepíthető, a produkciós ág pedig átállítható a main helyett másra.

Nálunk a deployok egy része git repóból, ágankénti előnézeti környezettel fut ezen a platformon, ez az oldal viszont klasszikus tárhelyről megy ki, ugyanabból a statikus buildből; a Git repó mindkét esetben ugyanaz.

Build és keretrendszer-felismerés

A build minden deploynál lefut, tiszta és elkülönített környezetben. A népszerű keretrendszereket a platform automatikusan felismeri, és kipótolja a build paranccsal, a kimeneti könyvtárral és a telepítési paranccsal kapcsolatos beállításokat, amelyek a projekt beállításaiban felülírhatók.

  • Tisztán statikus oldalnál nincs build lépés: a preset Other, a build parancs üresen marad, a kimeneti könyvtár felülírható.
  • A repót a build alapértelmezés szerint sekély klónnal (git clone --depth=10) húzza be.
  • Monorepóban azok a projektek kihagyhatók, amelyeknek nem változott a fájlja és a függősége.

Függvények és futtatókörnyezetek

A Vercel Functions szerveroldali kód: minden kérés új invokáció, a forgalom szerint skálázódik, és amikor nincs kérés, nullára csökken. Statikus fájl kiszolgálásához nem kell függvény. A hivatalos futtatókörnyezetek köre a Node.js, a Bun, a Python, a Go, a Ruby, a Rust, a Wasm és az Edge runtime, amely a V8 motorra épül és konténer nélkül fut; egyedi OCI image is telepíthető.

Ez a felállás kevesebb saját üzemeltetést kíván, mint amikor ugyanezt a réteget Docker konténerekből és egy nginx proxyból építjük fel magunknak.

  • A függvények alapértelmezés szerint egyetlen régióban futnak (iad1), és a régió beállítható; több régiót a Pro és az Enterprise csomag enged.
  • A fluid compute ugyanazt a példányt használja újra a következő kérésnél, és egy példányon belül párhuzamos invokációkat is enged.
  • A futásidő felső korlátja beállítható, és a platform a hosszabb invokációt megszakítja.

Környezeti változók és korlátok

A környezeti változó kulcs-érték pár, amely a forráskódon kívül él, és környezetenként más értéket vehet fel; az értékek titkosítva tárolódnak, de a projekthez hozzáférő felhasználók láthatják őket. Az erőforrás-korlátok csomagfüggők, és a dokumentációban nyilvánosak.

  • Egy változó Config vagy Secret típusú: a Secret mentés után csak írható, és egy deploy összes változója együtt legfeljebb 64 KB lehet.
  • A módosítás csak az új deployokra hat, a már megépültekre nem.
  • A build lépés deployonként 45 perc, a napi deployok száma és az egyidejű deployok száma pedig csomagfüggő.
  • A függvények alapértelmezett maximális futásideje 300 másodperc, a Pro és az Enterprise csomagon 800 másodpercig emelhető; a memória 2 GB, illetve 4 GB, a tömörítetlen csomag pedig 250 MB, Pythonnál 500 MB.
  • A Build Output API és a vercel.json a platform saját formátuma, ezért az ezekre épülő megoldás kevésbé hordozható más szolgáltató felé; mivel a függvény egy régióban fut, érdemes az adatforráshoz közeli régiót választani.

Tovább olvasás

A CyberElectrónál a Vercel az egyik deploycél: git repóból, ágankénti előnézettel telepítünk rá projekteket, miközben ez az oldal klasszikus tárhelyről szolgálja ki ugyanazt a statikus buildet.

Címkék
  • deploy
  • előnézeti környezet
  • szerver nélküli
  • CDN
  • üzemeltetés