Állítsa be ezt a munkafolyamatot az alkalmazás éles üzembe helyezéséhez és a kiadási folyamat egyszerűsítéséhez.

A Netlify egy webtárhely-platform és egy átfogó eszközkészlet a webalkalmazások felhőben történő telepítéséhez és kezeléséhez.

Funkciói azonban jóval túlmutatnak ezen – kiszolgáló nélküli funkciói lehetővé teszik a szerveroldali kód futtatását dedikált szerver nélkül.

Fedezze fel, hogyan állíthat be egy CI/CD folyamatot a Node.js REST API telepítéséhez a Netlify-on a GitHub Actions segítségével.

CI/CD Pipelines GitHub-műveletekkel: áttekintés

A Continuous Integration and Continuous Delivery (CI/CD) folyamatok sorozata olyan szekvenciális, automatizált folyamatok, amelyeken a szoftveralkalmazások átesnek, mielőtt a termelésbe kerülnének.

A CI/CD folyamatok általában több kulcsfázisból állnak, beleértve a forrás-, összeállítási, tesztelési és telepítési fázist.

Bár ezek a fázisok manuálisan is végrehajthatók, az automatizálásuk számos előnnyel jár, többek között:

  • Az emberi hibák kockázatának minimalizálása.
  • instagram viewer
  • A kiadási folyamat felgyorsítása.
  • Következetes munkafolyamat biztosítása a minőségi szoftverek gyártásba szállításához.

Mi az a GitHub Actions?

A GitHub Actions a GitHubba integrált eszköz, amely előre elkészített műveletek széles skáláját kínálja. segítségével a munkafolyamatokat kódként határozhatja meg közvetlenül a projekttárban a CI/CD automatizálásához csővezetékek.

Létrehozhat egyedi műveleteket is, amelyek megfelelnek az adott projekt igényeinek, lehetővé téve az alkalmazások létrehozását és üzembe helyezését problémamentesen. A GitHub Actions egyik előnye, hogy zökkenőmentesen integrálható más GitHub-funkciókkal, például a lekérési kérelmekkel és a problémakövetéssel.

Ez lehetővé teszi a munkafolyamatok elindítását konkrét események alapján, például egy új véglegesítést, amely biztosítja, hogy a CI/CD folyamatok szükség esetén automatikusan aktiválódjanak.

Állítsa be a Node.js projektet

A kezdéshez létre kell hozni egy Express webszerver. Ehhez hozzon létre egy új mappát helyileg, és módosítsa a könyvtárat a terminálon.

mkdir express-netlify
cd express-netlify

Ezután hozzon létre a package.json fájl használatával npm, a Node Package Manager.

npm init -y

Végül telepítse a projektben szükséges függőségeket.

npm telepítse az expressz netlify-lambda serverless-http

A netlify-lambda csomag helyi fejlesztői szerverként szolgál, amely megkönnyíti a szerver nélküli funkciók tesztelését. szerver nélküli-http segít az Express.js-alkalmazások olyan formátumra adaptálásában, amely kompatibilis a szerver nélküli funkciókezelőkkel.

A Netlify nem nyújt natív támogatást teljes értékű háttéralkalmazások üzemeltetéséhez és futtatásához. Ehelyett kiszolgáló nélküli funkciókat kínál alternatív megoldásként a háttérfunkciók kezelésére.

Ezek a funkciók kezelik a kiszolgálóoldali logikát, kezelik a HTTP API kéréseket, és dinamikus tartalmat szolgálnak ki, háttér-szerű funkcionalitást biztosítva a szerver nélküli paradigmán belül.

A projekt kódja megtalálható benne GitHub adattár.

Hozza létre az Express Web Servert

Hozzon létre három mappát: ker, funkciókat, és src a projektmappa gyökérkönyvtárában.

Az Express szerver beállítása előtt hozzon létre egy üres lapot index.html fájl a ker mappát. Ez a fájl helyőrzőként működik, amely lehetővé teszi a Netlify számára az Express alkalmazás sikeres üzembe helyezését és az API-útvonalak kiszolgálását.

Most hozzon létre a src/app.js fájlt, és adja hozzá a következő kódot:

const expressz = igényelnek("Expressz");
const szerver nélküli = igényelnek("szerver nélküli-http");

const app = express();
const router = expressz. Router();

router.get("/", (req, res) => {
res.send("Helló Világ!")
});

app.use(`/.netlify/functions/app`, router);

modult.exports = alkalmazás;
modult.exports.handler = szerver nélküli (alkalmazás);

Ez a kód egy Express szervert határoz meg egyetlen útvonallal a gyökér URL számára, amely kezeli a GET kéréseket. A app.use A funkció regisztrálja az útvonal köztes szoftverét az Express alkalmazásban, biztosítva, hogy az elérési útra érkező HTTP-kérések /.netlify/functions/app megfelelően kezelni fogja az útválasztó, még éles környezetben is.

Következésképpen, ha új végpontot ad hozzá, például /api/auth, akkor elérhető lesz /.netlify/functions/app/api/auth. Végül a kód exportálja az Express alkalmazást és a szerver nélküli kezelő függvényt.

Ez lehetővé teszi a kiszolgáló helyi tesztelését, és biztosítja, hogy kiszolgáló nélküli funkcióként telepítse a Netlify-on.

Határozza meg a Netlify.toml fájlt

A gyökérkönyvtárban hozzon létre egy újat Netlify.toml fájlt, és adja hozzá a következő kódot.

[épít]
alap = "/"
command = "npm run build"
közzététel = "/dist/"
functions = "függvények/"
[build.environment]
NODE_VERSION = "16"
[függvények]
external_node_modules = ["Expressz"]
node_bundler = "esbuild"
[[átirányítások]]
erő = igaz
from = "/api/*"
állapot = 200
to = "/.netlify/functions/app/:splat"
[[átirányítások]]
from = "/*"
állapot = 200
to = "/index.html"

A kód meghatározza a Netlify Express alkalmazás felépítési és telepítési konfigurációs beállításait. Olyan beállításokat tartalmaz, mint az alapkönyvtár, a build parancs, a közzétételi könyvtár és a függvénykönyvtár.

Ezenkívül meghatározza azokat az átirányítási beállításokat, amelyek kezelik a HTTP API-kérelmek útválasztását, biztosítva, hogy azok megfelelően a Netlify szerver nélküli funkcióihoz legyenek irányítva.

Frissítse a Package.json fájlt

Nyissa meg a package.json fájlt, és adja hozzá ezeket a parancsokat a scripts objektumhoz.

"szkriptek": {
"Rajt": "netlify-lambda serve src",
"épít": "netlify-lambda build src"
},

Futtassa a következő parancsokat az alkalmazás helyi felépítéséhez és elindításához.

npm run build
npm futás indítása

A szerver a 9000-es porton indul el. Továbbléphet, és tesztelheti az API-t a Postman segítségével, ha kéréseket küld a címre http://localhost: 9000/.netlify/functions/app

Végül, mielőtt beállítaná a GitHub Actions munkafolyamatot a Netlify-on történő telepítések automatizálására, hozzon létre egy adattárat a GitHubon, és nyomja meg a projektfájlokat.

Telepítse az Express alkalmazást a Netlify-on

Először telepítse az API-t a Netlify-on a GitHub Actions munkafolyamat konfigurálása előtt. Kövesse ezeket a lépéseket az Express alkalmazás Netlify-on való üzembe helyezéséhez.

  1. Irány oda Netlify és hozzon létre egy fiókot, és jelentkezzen be a Áttekintés oldalon.
  2. Válassza ki és kattintson a Webhelyek lapon.
  3. Kattintson a Importálás a Gitből gombot, és válassza ki GitHub mint a Git szolgáltatói platform. A Netlify felkéri Önt, hogy hitelesítsen a GitHub segítségével, hogy hozzáférést biztosítson a fiókjához és a projekttárolókhoz.
  4. Válassza ki az Express projekt lerakatot a megjelenített tárolók listájából.
  5. A lerakat kiválasztása után konfigurálnia kell a telepítési folyamat összeállítási beállításait. A Netlify leegyszerűsíti ezt a folyamatot azáltal, hogy automatikusan észleli az alkalmazás felépítéséhez használt technológiát, és előre kitölti a mezőket a szükséges összeállítási beállításokkal. Ebben az esetben a build parancs, a közzététel és a függvénykönyvtár.
  6. Végül kattintson a Telepítse a webhelyet gombot a folyamat befejezéséhez.

Hozzon létre egy GitHub Actions munkafolyamatot

Kattintson a Akciók lapon a projekt GitHub-tárhelyén. Ban,-ben Folyamatos integráció szakaszt, válassza ki, és kattintson a gombra Konfigurálja a Node.js fájlt munkafolyamat.

A GitHub szerkesztőben nevezze át a fájlnevet erre: Netlify.yml, törölje a sablon Node.js munkafolyamat kódját, és adja hozzá az alábbi kódot:

név:ÉpítésTelepítésnak nekNetlify
tovább:
nyom:
pull_request:
állások:
épít:
ráfutás:ubuntu-22.04
lépések:
-használja:action/checkout@v3

# ( Build a ./dist vagy más könyvtárba... )

-név:Telepítésnak nekNetlify
használja:nwtgck/[email protected]
val vel:
közzétételi könyvtár:"./dist"
termelő ág:fő-
github-token:${{titkok. GITHUB_TOKEN}}
telepítési üzenet:„Üzembe helyezés a GitHub-műveletekből”
enable-pull-request-comment:hamis
enable-commit-comment:igaz
felülírja-pull-request-comment:igaz
env:
NETLIFY_AUTH_TOKEN:${{titkok. NETLIFY_AUTH_TOKEN}}
NETLIFY_SITE_ID:${{titkok. NETLIFY_SITE_ID}}
időtúllépési percek:1

Íme a munkafolyamat tulajdonságainak lebontása:

  • tovább: Események, amelyek kiváltják a műveleteket ebben a munkafolyamatban.
  • munkahelyek: Meghatározza azt az eseményt, amelyet egy adott műveletnek le kell futtatnia, amelyek a következők: összeállítási és telepítési események.
  • ráfut: a művelet gazdakörnyezete.
  • lépések: Egy adott feladat végrehajtásához szükséges lépések sorozatát határozza meg.
  • val vel: Meghatározza a műveletek megfelelő futtatásához szükséges argumentumokat.
  • env: megadja a munkafolyamathoz szükséges környezeti változókat.

Végül véglegesítse a fájl frissítéseit. A GitHubnak automatikusan be kell indítania a munkafolyamatot.

A kezdeti összeállítás azonban hibát fog kiváltani, mivel hozzá kell adnia a munkafolyamathoz szükséges titkos változókat: a telepített webhelyazonosítót és a Netlify hitelesítési jogkivonatát. Menj a tiédhez Webhely beállításai a Netlify-on, és másold ki a Webhelyazonosító.

A hitelesítési token beszerzéséhez kattintson a felhasználói profil ikont, és válassza ki a Felhasználói beállítások opciót a legördülő ablakból. A beállítások oldalon válassza a lehetőséget Alkalmazások, és kattintson Új hozzáférési token a hitelesítési token létrehozásához.

Adja hozzá a két környezeti változót NETLIFY_SITE_ID és NETLIFY_AUTH_TOKEN néven a GitHub-tárhely környezeti változóihoz és lerakattitkai szakaszaihoz. A módosítások elvégzése után futtassa újra a munkafolyamatot. A Netlify automatikusan telepít minden későbbi módosítást, amelyet ezen a folyamaton keresztül hajt végre.

Tesztelje az API-t a Postman segítségével úgy, hogy kéréseket küld erre az URL-re: /.netlify/functions/app.

CI/CD-folyamatok konfigurálása a GitHub Actions és a Netlify segítségével

A Netlify szerver nélküli funkcióinak használatával teljes körű webalkalmazásokat telepíthet, amelyek a Netlify kliensoldali és háttérfunkcióit egyaránt magukban foglalják.

Ezenkívül a GitHub Actions segítségével a CI/CD-folyamatok beállítása az alkalmazásokhoz egyszerűsített megközelítést kínál a felépítési és telepítési folyamat automatizálásához. Ez lehetővé teszi olyan munkafolyamatok meghatározását, amelyek zökkenőmentes és megbízható fejlesztési folyamatot biztosítanak, kezdve az ötleteléstől a kiadási szakaszig.