Määritä tämä työnkulku ottaaksesi sovelluksesi käyttöön automaattisesti tuotantoon ja virtaviivaistaaksesi julkaisuprosessia.

Netlify on web-hosting-alusta ja kattava valikoima työkaluja verkkosovellusten käyttöönottoon ja hallintaan pilvessä.

Mutta sen ominaisuudet ulottuvat paljon pidemmälle – sen palvelimettomat toiminnot mahdollistavat palvelinpuolen koodin suorittamisen ilman erillistä palvelinta.

Tutustu CI/CD-putkilinjan määrittämiseen Node.js REST API: n käyttöönottamiseksi Netlifyssa GitHub Actionsin avulla.

CI/CD-putkistot GitHub-toiminnoilla: Yleiskatsaus

Jatkuva integrointi ja jatkuva toimitus (CI/CD) ovat sarja peräkkäisiä, automatisoituja prosesseja, jotka ohjelmistosovellukset käyvät läpi ennen kuin ne toimitetaan tuotantoon.

Tyypillisesti CI/CD-liukuhihnat koostuvat useista avainvaiheista, mukaan lukien lähde-, rakennus-, testaus- ja käyttöönottovaiheet.

Vaikka nämä vaiheet on mahdollista suorittaa manuaalisesti, niiden automatisointi tarjoaa useita etuja, kuten:

  • Inhimillisten virheiden riskin minimoiminen.
  • instagram viewer
  • Vapautusprosessin nopeuttaminen.
  • Johdonmukaisen työnkulun varmistaminen laadukkaiden ohjelmistojen toimittamiseksi tuotantoon.

Mitä GitHub Actions on?

GitHub Actions on GitHubiin integroitu työkalu, joka tarjoaa laajan valikoiman valmiita toimintoja, jotka voit käyttää työnkulkujen määrittämiseen koodina suoraan projektitietovarastoon automatisoidaksesi CI/CD: n putkistoja.

Voit myös luoda mukautettuja toimintoja projektisi erityistarpeiden mukaan, jolloin voit rakentaa ja ottaa käyttöön sovelluksia tuotantoon vaivattomasti. Yksi GitHub Actionsin eduista on sen saumaton integrointi muihin GitHub-ominaisuuksiin, kuten vetopyyntöihin ja ongelmien seurantaan.

Tämä mahdollistaa tiettyihin tapahtumiin perustuvien työnkulkujen käynnistämisen, kuten uuden sitoumuksen, joka varmistaa, että CI/CD-liukuhihnat käynnistyvät automaattisesti tarvittaessa.

Määritä Node.js-projekti

Aloittaaksesi sinun on luotava Express-verkkopalvelin. Luo uusi kansio paikallisesti ja vaihda päätelaitteen hakemisto.

mkdir express-netlify
cd express-netlify

Luo seuraavaksi a package.json tiedostoa käyttämällä npm, Node Package Manager.

npm init -y

Asenna lopuksi projektissa tarvittavat riippuvuudet.

npm asenna express netlify-lambda serverless-http

The netlify-lambda paketti toimii paikallisena kehityspalvelimena, joka helpottaa palvelimettomien toimintojen testaamista. palvelimeton-http auttaa mukauttamaan Express.js-sovelluksia muotoon, joka on yhteensopiva palvelimettomien toimintokäsittelijöiden kanssa.

Netlify ei tarjoa natiivitukea täysimittaisten taustasovellusten isännöintiin ja suorittamiseen. Sen sijaan se tarjoaa palvelimettomia toimintoja vaihtoehtoisena ratkaisuna taustatoimintojen käsittelyyn.

Nämä toiminnot hallitsevat palvelinpuolen logiikkaa, käsittelevät HTTP API -pyyntöjä ja palvelevat dynaamista sisältöä tarjoten taustajärjestelmän kaltaisia ​​toimintoja palvelimettomassa paradigmassa.

Löydät tämän projektin koodin siitä GitHub-arkisto.

Luo Express Web Server

Luo kolme kansiota: dist, toimintoja, ja src projektikansiosi juurihakemistossa.

Ennen kuin määrität Express-palvelimen, luo tyhjä index.html tiedosto tiedostoon dist kansio. Tämä tiedosto toimii paikkamerkkinä, jonka avulla Netlify voi ottaa onnistuneesti käyttöön Express-sovelluksen ja palvella API-reittejä.

Luo nyt a src/app.js tiedosto ja lisää seuraava koodi:

konst express = vaatia("ilmaista");
konst palvelimeton = vaatia("palvelinton-http");

konst sovellus = express();
konst reititin = express. Reititin();

router.get("/", (req, res) => {
res.send("Hei maailma!")
});

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

moduuli.exports = sovellus;
moduuli.exports.handler = palvelinton (sovellus);

Tämä koodi määrittää Express-palvelimen, jolla on yksi reitti juuri-URL-osoitteelle, joka käsittelee GET-pyyntöjä. The app.use toiminto rekisteröi reitin väliohjelmiston Express-sovellukseen ja varmistaa, että kaikki polulle tehdyt HTTP-pyynnöt /.netlify/functions/app reititin käsittelee niitä oikein, jopa tuotantoympäristössä.

Näin ollen, jos lisäät uuden päätepisteen, kuten /api/auth, se on käytettävissä osoitteessa /.netlify/functions/app/api/auth. Lopuksi koodi vie Express-sovelluksen ja palvelimettoman käsittelijän toiminnon.

Tämä mahdollistaa palvelimen paikallisen testauksen ja varmistaa, että voit ottaa sen käyttöön palvelimettomana toimintona Netlifyssa.

Määritä Netlify.toml-tiedosto

Luo juurihakemistoon uusi Netlify.toml tiedosto ja lisää seuraava koodi.

[rakentaa]
kanta = "/"
komento = "npm run build"
julkaise = "/dist/"
functions = "funktiot/"
[rakennus.ympäristö]
NODE_VERSION = "16"
[funktiot]
external_node_modules = ["ilmaista"]
node_bundler = "esbuild"
[[uudelleenohjaukset]]
voima = totta
from = "/api/*"
tila = 200
to = "/.netlify/functions/app/:splat"
[[uudelleenohjaukset]]
from = "/*"
tila = 200
to = "/index.html"

Koodi määrittää Netlifyn Express-sovelluksen koonti- ja käyttöönottomääritysasetukset. Se sisältää asetukset, kuten perushakemiston, koontikomennon, julkaisuhakemiston ja toimintohakemiston.

Lisäksi se määrittää uudelleenohjausasetukset, joiden pitäisi hallita HTTP API -pyyntöjen reititystä varmistaen, että ne ohjataan oikein Netlifyn palvelimettomiin toimintoihin.

Päivitä Package.json-tiedosto

Avaa package.json tiedosto ja lisää nämä komennot scripts-objektiin.

"käsikirjoitukset": {
"alkaa": "netlify-lambda serve src",
"rakentaa": "netlify-lambda build src"
},

Suorita seuraavat komennot luodaksesi ja käynnistääksesi sovellus paikallisesti.

npm run build
npm ajon aloitus

Palvelin käynnistyy portista 9000. Voit jatkaa ja testata sovellusliittymää Postmanin avulla tekemällä pyyntöjä http://localhost: 9000/.netlify/functions/app

Lopuksi, ennen kuin määrität GitHub Actions -työnkulun käyttöönottojen automatisoimiseksi Netlifyssa, luo arkisto GitHubissa, ja työnnä projektitiedostot.

Ota Express-sovellus käyttöön Netlifyssa

Ota ensin API käyttöön Netlifyssa ennen GitHub Actions -työnkulun määrittämistä. Noudata näitä ohjeita ottaaksesi Express-sovelluksen käyttöön Netlifyssa.

  1. Suuntaa kohti Netlify ja luo tili ja kirjaudu sisään Yleiskatsaus sivu.
  2. Valitse ja napsauta Sivustot -välilehti.
  3. Klikkaa Tuo Gitistä -painiketta ja valitse GitHub Git-palveluntarjoajan alustana. Netlify kehottaa sinua todentamaan GitHubin, jotta se voi käyttää tiliäsi ja projektitietovarastoja.
  4. Valitse Express-projektin arkisto näytettyjen arkiston luettelosta.
  5. Kun olet valinnut arkiston, sinun on määritettävä käyttöönottoprosessin koontiasetukset. Netlify yksinkertaistaa tätä prosessia tunnistamalla automaattisesti sovelluksen rakentamiseen käytetyn tekniikan ja esitäyttää kentät vaadituilla koontiasetuksilla. Tässä tapauksessa build-komento, julkaisu ja toimintohakemisto.
  6. Napsauta lopuksi Ota sivusto käyttöön -painiketta suorittaaksesi prosessin loppuun.

Luo GitHub Actions -työnkulku

Klikkaa Toiminnot -välilehti projektisi GitHub-arkistossa. Vuonna Jatkuva integraatio -osio, valitse ja napsauta Määritä Node.js työnkulku.

Nimeä tiedoston nimi uudelleen GitHub-editorissa Netlify.yml, poista Node.js-työnkulkukoodi ja lisää alla oleva koodi:

nimi:RakentaajaOta käyttööntoNetlify
päällä:
työntää:
pull_request:
työpaikat:
rakentaa:
käy:ubuntu-22.04
askeleet:
-käyttää:action/checkout@v3

# ( Rakenna ./dist tai muuhun hakemistoon... )

-nimi:Ota käyttööntoNetlify
käyttää:nwtgck/[email protected]
kanssa:
julkaisu-dir:'./dist'
tuotanto-haara:pää
github-tunnus:${{salaisuuksia. GITHUB_TOKEN}}
käyttöönotto-viesti:"Ota käyttöön GitHub Actionsista"
enable-pull-request-comment:väärä
ota käyttöön-sitou-kommentti:totta
overwrites-pull-request-comment:totta
env:
NETLIFY_AUTH_TOKEN:${{salaisuuksia. NETLIFY_AUTH_TOKEN}}
NETLIFY_SITE_ID:${{salaisuuksia. NETLIFY_SITE_ID}}
aikakatkaisuminuutit:1

Tässä on erittely työnkulun ominaisuuksista:

  • päällä: Tapahtumat, jotka käynnistävät toiminnot tässä työnkulussa.
  • työpaikkoja: Määrittää tapahtuman, jonka tietyn toiminnon tulee suorittaa. Nämä ovat: koonti- ja käyttöönottotapahtumat.
  • käy: toiminnon isäntätuotantoympäristö.
  • askeleet: Määrittää tietyn työn suorittamiseen tarvittavien vaiheiden sarjan.
  • kanssa: Määrittää argumentit, jotka vaaditaan toimintojen suorittamiseen oikein.
  • env: määrittää työnkulun vaadittavat ympäristömuuttujat.

Sitouta lopuksi tähän tiedostoon tehdyt päivitykset. GitHubin pitäisi käynnistää työnkulku automaattisesti.

Alkuperäinen koontiversio laukaisee kuitenkin virheen, koska sinun on lisättävä työnkulun edellyttämät salaiset muuttujat: käyttöönotetun sivuston tunnus ja Netlifyn todennustunnus. Mene luoksesi Sivuston asetukset Netlifyssa ja kopioi Sivuston tunnus.

Saadaksesi todennustunnuksen, napsauta käyttäjäprofiili -kuvaketta ja valitse Käyttäjäasetukset vaihtoehto avattavasta ikkunasta. Valitse asetussivulta Sovelluksetja napsauta Uusi käyttöoikeustunnus luodaksesi todennustunnuksesi.

Lisää kaksi ympäristömuuttujaa muodossa NETLIFY_SITE_ID ja NETLIFY_AUTH_TOKEN sekä ympäristömuuttujien että tietovaraston salaisuuksien osioon GitHub-tietovarastossasi. Suorita työnkulku uudelleen näiden muutosten tekemisen jälkeen. Netlify ottaa automaattisesti käyttöön kaikki myöhemmät tämän putkilinjan avulla tekemäsi muutokset.

Testaa sovellusliittymää Postmanin avulla tekemällä pyyntöjä tähän URL-osoitteeseen: /.netlify/functions/app.

CI/CD-putkien määrittäminen GitHub Actionsin ja Netlifyn avulla

Hyödyntämällä Netlifyn palvelimettomia toimintoja voit ottaa käyttöön täysimittaisia ​​verkkosovelluksia, jotka kattavat sekä asiakaspuolen että Netlifyn taustatoiminnot.

Lisäksi CI/CD-putkien määrittäminen sovelluksille GitHub Actionsin avulla tarjoaa virtaviivaistetun lähestymistavan rakennus- ja käyttöönottoprosessin automatisointiin. Näin voit määrittää työnkulkuja, jotka takaavat saumattoman ja luotettavan kehitysprosessin ideoinnista julkaisuvaiheeseen asti.