Seadistage see töövoog, et juurutada rakendus automaatselt tootmisprotsessi ja lihtsustada väljalaskeprotsessi.

Netlify on veebimajutusplatvorm ja laiaulatuslik tööriistade komplekt veebirakenduste pilves juurutamiseks ja haldamiseks.

Kuid selle funktsioonid ulatuvad sellest palju kaugemale – selle serverita funktsioonid võimaldavad teil käivitada serveripoolset koodi ilma spetsiaalse serverita.

Uurige, kuidas seadistada CI/CD torujuhe Node.js REST API juurutamiseks Netlifys, kasutades GitHubi toiminguid.

CI/CD torujuhtmed GitHubi toimingutega: ülevaade

Pideva integreerimise ja pideva tarnimise (CI/CD) torujuhtmed on järjestikuste automatiseeritud protsesside jada, mille tarkvararakendused läbivad enne tootmisse tarnimist.

Tavaliselt koosnevad CI/CD torujuhtmed mitmest võtmefaasist, sealhulgas lähte-, koostamise-, testimis- ja juurutamisfaasist.

Kuigi neid faase on võimalik käsitsi läbi viia, pakub nende automatiseerimine mitmeid eeliseid, sealhulgas:

  • Inimlike vigade riski minimeerimine.
  • Vabastamisprotsessi kiirendamine.
  • instagram viewer
  • Järjepideva töövoo tagamine kvaliteetse tarkvara tootmisse tarnimiseks.

Mis on GitHubi toimingud?

GitHub Actions on GitHubi integreeritud tööriist, mis pakub laia valikut eelehitatud toiminguid, mida saate kasutada töövoogude koodina määratlemiseks otse oma projektihoidlas, et automatiseerida CI/CD torujuhtmed.

Saate luua ka kohandatud toiminguid, mis vastavad teie konkreetsetele projektivajadustele, võimaldades teil luua ja juurutada rakendusi tootmisprotsessis probleemideta. Üks GitHub Actionsi eeliseid on selle sujuv integreerimine teiste GitHubi funktsioonidega, nagu tõmbamistaotlused ja probleemide jälgimine.

See võimaldab käivitada töövooge, mis põhinevad konkreetsetel sündmustel, näiteks uuel kohustusel, mis tagab, et teie CI/CD torujuhtmed käivituvad vajadusel automaatselt.

Seadistage projekt Node.js

Alustamiseks peate looma Expressi veebiserver. Selleks looge kohapeal uus kaust ja muutke oma terminali kataloogi.

mkdir express-netlify
cd express-netlify

Järgmisena looge a package.json faili kasutades npm, sõlme paketihaldur.

npm init -y

Lõpuks installige projektis vajalikud sõltuvused.

npm installi ekspress netlify-lambda serverita-http

The netlify-lambda pakett toimib kohaliku arendusserverina, mis hõlbustab serverita funktsioonide testimist. serverita-http aitab kohandada Express.js-i rakendusi vormingusse, mis ühildub serverita funktsioonikäsitlejatega.

Netlify ei paku natiivset tuge täisväärtuslike taustarakenduste hostimiseks ja käitamiseks. Selle asemel pakub see serverita funktsioone alternatiivse lahendusena taustafunktsioonide haldamiseks.

Need funktsioonid haldavad serveripoolset loogikat, haldavad HTTP API päringuid ja teenindavad dünaamilist sisu, pakkudes serverita paradigmas taustaprogrammi-sarnaseid funktsioone.

Selle projekti koodi leiate sellest GitHubi hoidla.

Looge Express Web Server

Looge kolm kausta: dist, funktsioonid, ja src projekti kausta juurkataloogis.

Enne Express-serveri seadistamist looge tühi index.html faili dist kausta. See fail toimib kohahoidjana, mis võimaldab Netlifyl Express-rakendust edukalt juurutada ja API marsruute teenindada.

Nüüd looge a src/app.js faili ja lisage järgmine kood:

konst väljendada = nõuda("väljendama");
konst serverita = nõuda("serverita-http");

konst rakendus = express();
konst ruuter = ekspress. Ruuter ();

ruuter.get("/", (req, res) => {
res.send("Tere, Maailm!")
});

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

moodul.exports = rakendus;
moodul.exports.handler = serverita (rakendus);

See kood määratleb Express-serveri, millel on juur-URL-i jaoks üks marsruut, mis käsitleb GET-päringuid. The app.use funktsioon registreerib marsruudi vahevara Expressi rakendusega, tagades, et kõik HTTP-päringud teele saadetakse /.netlify/functions/app ruuter seda korralikult käsitseb isegi tootmiskeskkonnas.

Järelikult, kui lisate uue lõpp-punkti, näiteks /api/auth, on see juurdepääsetav aadressil /.netlify/functions/app/api/auth. Lõpuks ekspordib kood Expressi rakenduse ja serverita töötleja funktsiooni.

See võimaldab serverit kohapeal testida ja tagab selle juurutamise Netlify serverita funktsioonina.

Määratlege fail Netlify.toml

Loo juurkataloogis uus Netlify.toml faili ja lisage järgmine kood.

[ehitada]
alus = "/"
käsk = "npm run build"
avalda = "/dist/"
funktsioonid = "funktsioonid/"
[build.environment]
NODE_VERSION = "16"
[funktsioonid]
external_node_modules = ["ekspress"]
node_bundler = "esbuild"
[[ümbersuunamised]]
jõud = tõsi
from = "/api/*"
olek = 200
to = "/.netlify/functions/app/:splat"
[[ümbersuunamised]]
alates = "/*"
olek = 200
to = "/index.html"

Kood määrab Netlify Expressi rakenduse ehitamise ja juurutamise konfiguratsiooniseaded. See sisaldab sätteid, nagu põhikataloog, ehituskäsk, avaldamiskataloog ja funktsioonide kataloog.

Lisaks määratleb see ümbersuunamisseaded, mis peaksid haldama HTTP API päringute marsruutimist, tagades, et need suunatakse õigesti Netlify serverita funktsioonidele.

Värskendage faili Package.json

Ava package.json faili ja lisage need käsud skriptide objektile.

"skriptid": {
"alusta": "netlify-lambda serve src",
"ehitada": "netlify-lambda build src"
},

Rakenduse kohalikuks loomiseks ja käivitamiseks käivitage järgmised käsud.

npm run build
npm jooksu algus

Server käivitub pordist 9000. Saate minna ja API-t Postmani abil testida, esitades taotlusi http://localhost: 9000/.netlify/functions/app

Lõpuks, enne GitHub Actionsi töövoo seadistamist Netlify juurutamise automatiseerimiseks, looge GitHubis hoidlaja suruge projektifailid.

Juurutage Netlify's ekspressrakendus

Esmalt juurutage API Netlifys enne GitHub Actionsi töövoo konfigureerimist. Expressi rakenduse Netlifys juurutamiseks järgige neid samme.

  1. Suunduge poole Netlify ja looge konto ja logige sisse Ülevaade lehel.
  2. Valige ja klõpsake nuppu saidid sakk.
  3. Klõpsake nuppu Import Gitist nuppu ja valige GitHub Giti pakkuja platvormina. Netlify palub teil GitHubiga autentida, et anda sellele juurdepääs teie kontole ja projektihoidlatele.
  4. Valige kuvatavate hoidlate loendist Expressi projektihoidla.
  5. Pärast hoidla valimist peate konfigureerima juurutusprotsessi järgu sätted. Netlify lihtsustab seda protsessi, tuvastades automaatselt rakenduse koostamiseks kasutatud tehnoloogia ja eeltäites väljad nõutud järgu seadetega. Sel juhul ehitamiskäsk, avaldamine ja funktsioonide kataloog.
  6. Lõpuks klõpsake nuppu Saidi juurutamine nuppu protsessi lõpuleviimiseks.

Looge GitHubi toimingute töövoog

Klõpsake nuppu Tegevused vahekaarti oma projekti GitHubi hoidlas. Aastal Pidev integreerimine valige ja klõpsake nuppu Seadistage Node.js töövoog.

Nimetage GitHubi redaktoris faili nimi ümber Netlify.yml, kustutage standardplaadi Node.js töövoo kood ja lisage allolev kood.

nimi:EhitadajaKasutusele võttajuurdeNetlify
peal:
suruma:
pull_request:
töökohad:
ehitada:
pealejooks:ubuntu-22.04
sammud:
-kasutab:action/checkout@v3

# ( Ehitage ./dist või muusse kataloogi... )

-nimi:Kasutusele võttajuurdeNetlify
kasutab:nwtgck/[email protected]
koos:
avalda-direktor:'./dist'
tootmisharu:peamine
github-token:${{saladusi. GITHUB_TOKEN}}
juurutamise sõnum:"Juuvita GitHub Actionsist"
enable-pull-request-comment:vale
luba-oma-kommenteeri:tõsi
kirjutab üle-tõmba-päringu-kommentaari:tõsi
env:
NETLIFY_AUTH_TOKEN:${{saladusi. NETLIFY_AUTH_TOKEN}}
NETLIFY_SITE_ID:${{saladusi. NETLIFY_SITE_ID}}
timeout-minutes:1

Siin on töövoo omaduste jaotus:

  • peal: sündmused, mis käivitavad selle töövoo toimingud.
  • töökohad: määrab sündmuse, mille konkreetne toiming peaks käivitama, mis on: ehitamise ja juurutamise sündmused.
  • pealejooksmine: toimingu hosti tootmiskeskkond.
  • sammud: määrab teatud töö teostamiseks vajalike sammude jada.
  • koos: määratleb argumendid, mis on vajalikud toimingute korrektseks käitamiseks.
  • env: määrab töövoo jaoks vajalikud keskkonnamuutujad.

Lõpuks kinnitage sellele failile tehtud värskendused. GitHub peaks töövoo automaatselt käivitama.

Esialgne ehitamine käivitab aga vea, kuna peate lisama töövoo jaoks nõutavad salamuutujad: juurutatud saidi ID ja Netlify autentimisluba. Suunduge oma poole Saidi seaded Netlify'is ja kopeerige Saidi ID.

Auth tokeni hankimiseks klõpsake nuppu Kasutajaprofiil ikooni ja valige Kasutaja seaded valik rippmenüüst. Valige seadete lehel Rakendusedja klõpsake Uus juurdepääsuluba et luua oma autentimisluba.

Lisage kaks keskkonnamuutujat kui NETLIFY_SITE_ID ja NETLIFY_AUTH_TOKEN nii keskkonnamuutujate kui ka hoidla saladuste jaotistesse oma GitHubi hoidlas. Pärast nende muudatuste tegemist käivitage töövoog uuesti. Netlify juurutab automaatselt kõik järgnevad muudatused, mille selle torujuhtme abil edastate.

Jätkake ja testige API-t Postmani abil, esitades päringud sellele URL-ile: /.netlify/functions/app.

CI/CD torujuhtmete konfigureerimine GitHubi toimingute ja Netlify abil

Kasutades Netlify serverita funktsioone, saate Netlifys juurutada täisväärtuslikke veebirakendusi, mis hõlmavad nii kliendipoolseid kui ka taustafunktsioone.

Lisaks pakub GitHub Actionsiga rakenduste jaoks CI/CD torujuhtmete seadistamine sujuvamat lähenemist ehitus- ja juurutamisprotsessi automatiseerimisele. See võimaldab teil määratleda töövooge, mis tagavad sujuva ja usaldusväärse arendusprotsessi, alustades ideede loomisest kuni väljalaskefaasini.