Hopp til hovedinnhold

API-distribusjon

ChurchApps API-er distribueres som AWS Lambda-funksjoner ved hjelp av Serverless Framework. Denne siden dekker bygge-, distribusjons- og konfigurasjonsarbeidsflyten for staging- og produksjonsmiljøer.

Før du begynner

  • Sett opp API-et lokalt -- se Lokalt API-oppsett
  • Konfigurer AWS-legitimasjon på maskinen din
  • Sørg for at du har tilgang til mål-AWS-kontoen

Bygging

API-er bygges for produksjon med en dedikert TypeScript-konfigurasjon:

npm run build:prod

Dette bruker tsconfig.prod.json for å kompilere prosjektet for Lambda-kjøretiden.

Distribusjon

Distribuer til staging:

npm run deploy-staging

Distribuer til produksjon:

npm run deploy-prod

Hva som opprettes

Hver API-distribusjon oppretter eller oppdaterer følgende AWS Lambda-funksjoner:

FunksjonFormål
webHTTP-forespørselshåndterer via API Gateway
socketWebSocket-tilkoblingshåndterer
timer15MinPlanlagt oppgave som kjøres hvert 15. minutt
timerMidnightPlanlagt oppgave som kjøres daglig ved midnatt

Miljøkonfigurasjon

I distribuerte miljøer leses konfigurasjon fra AWS SSM Parameter Store i stedet for .env-filer. Dette holder hemmeligheter ute av distribusjonspakken og muliggjør konfigurasjonsendringer uten å distribuere på nytt.

Advarsel

Aldri commit produksjonslegitimasjon til repositoriet. All sensitiv konfigurasjon bør lagres i AWS SSM Parameter Store og nås under kjøring.

Tips

For å teste en distribusjon uten å påvirke produksjon, distribuer alltid til staging først med npm run deploy-staging og verifiser endringene før du promoterer til produksjon.

Relaterte artikler