I denne vejledning gennemgår vi trinene for at implementere et eksempelprogram og en database. Du er velkommen til at bruge eksempelapplikationen nedenfor til test, men du skal ikke stole på den til nogen form for produktionsbrug. Formålet med applikationen er at teste Kinsta-implementeringen.

Foretrækker du at se videoversionen?

Eksempelprogram

Vi har oprettet en lille applikation til at logge vejret og vise resultaterne på en simpel side. Du kan finde applikationen på GitHub.

Fork eksempelapplikationen

Besøg først applikationen weatherlogger-js på GitHub og læs den medfølgende Readme-fil for at få mere at vide om applikationen. Når du har gjort dig bekendt med den, skal du klikke på Fork-knappen øverst til højre for at fork den til din egen GitHub-konto.

Opret en fork af weatherlogger-js på GitHub.
Opret en fork af weatherlogger-js på GitHub.

Opret en API-nøgle

Appen kræver en API-nøgle fra OpenWeather. Når du tilmelder dig, kan du logge ind og oprette en API-nøgle gratis, som giver dig mulighed for at foretage 1.000 API-opkald dagligt. Vi anbefaler at gøre dette trin først, da det tager API-nøglen 10-20 minutter at blive aktiv, hvilket vi kan bruge på at oprette vores applikation.

Processer

Når vi implementerer applikationen til Kinsta, skal vi køre to processer:

  • En webserver, hvor vi kan se vores vejrdata. Den kan startes ved hjælp af kommandoen npm start.
  • Et cronjob, der indsamler vejrdata med få minutters mellemrum. Dette kan startes ved hjælp af kommandoen npm run weatherLogger

Lad os begynde at gøre tingene klar til at køre disse processer.

Udrulning af en database

I MyKinsta skal du sikre dig, at du er på siden Applikationer, derefter klikke på Tilføj tjeneste og så vælge Database i rullemenuen. Vi har brugt følgende værdier i formularen til at oprette vores eksempeldatabase:

  • Database navn: weatherloggerdb
  • Visningsnavn: Weather Logger Database
  • Database type: MySQL
  • Version: 8.0
  • Vi lod brugernavn og password til databasen være uændret
  • Datacenterets placering: us-east4-a
  • Database-størrelse: 2 CPU-kerner – 512 MB RAM (Mini)

Klik på knappen Opret database, og du skulle være klar.

Oprettelse af en ny database til vores eksempelprogram.
Oprettelse af en ny database til vores eksempelprogram.

Udrulning af en applikation

Sørg for, at du er på siden Applikationer, klik på Tilføj tjeneste, og vælg derefter Applikation i rullemenuen. Når du klikker på GitHub-depot-feltet, skal du tillade Kinsta at interagere med dit depot.

Du kan få en videoguide ved at se vores videovejledninger. Du kan finde mere trin-for-trin-dokumentation i Tilføj en applikation.

Vi har brugt følgende værdier i formularen til at oprette vores eksempelprogram:

  • GitHub-repository: danielpataki/weatherlogger-js (i dit tilfælde vil det være noget i retning af your-organization/weatherlogger-js)
  • Standardgren: main
  • Automatisk udrulning ved commit: ikke markeret
  • Byg miljø: Konfigurer containerbillede automatisk
  • Programnavn: Weather Logger
  • Datacenterplacering: us-east4-a

Klik på Tilføj program, og implementeringsprocessen startes.

Oprettelse af et nyt program til vores eksempel.
Oprettelse af et nyt program til vores eksempel.

Tilslutning af applikationen og databasen

Når databasen er klar til forbindelser (der vises et grønt flueben ved siden af den), kan vi tilslutte den til vores applikation, selv om applikationen stadig er ved at blive implementeret. Klik på Weather Logger-applikationen, klik på Settings (Indstillinger) i sidebaren og rul ned for at finde afsnittet Internal connections (Interne forbindelser).

Interne forbindelser i vores eksempelprogram.
Interne forbindelser i vores eksempelprogram.

Klik på Tilføj forbindelse, og i det modale vindue/pop-up vindue, der vises, skal du vælge Weather Logger Database. Markér afkrydsningsfeltet Tilføj miljøvariabler for at få adgang til databasen, rul til bunden af vinduet, og klik på Tilføj forbindelse.

Tilføj en intern forbindelse til vores eksempelprogram.
Tilføj en intern forbindelse til vores eksempelprogram.

Opsætning af programmet

Den næste ting på vores liste er at tilføje alle de oplysninger, som vores applikation har brug for i form af miljøvariabler. De fleste af oplysningerne blev automatisk tilføjet i det foregående trin ved at udfylde variablerne for databaseforbindelsen.

Den eneste, der mangler, og som applikationen har brug for, er OpenWeatherMap API-nøglen. I Indstillingerne, lige under afsnittet Interne forbindelser, kan du se afsnittet Miljøvariabler. Klik på Tilføj miljøvariabel, og brug OPENWEATHER_KEY som nøgle og din API-nøgle som værdi.

Tilføj din OpenWeather API-nøgle til miljøvariablerne.
Tilføj din OpenWeather API-nøgle til miljøvariablerne.

Applikationen understøtter et par flere variabler til styring af opdateringsfrekvens, anvendte enheder osv. Tag et kig i applikationens dokumentation for at få flere oplysninger.

Konfigurering af processer

Vi nævnte i begyndelsen, at vi skal bruge en webserver og et cronjob. Gå over til afsnittet Processes i programmet, og du vil se, at en web proces oprettes automatisk og kører npm start som standard, hvilket er præcis, hvad vi har brug for.

For at oprette cronjobbet skal du klikke på knappen Create process (Opret proces) og udfylde formularen i den modal/pop-up, der vises. Vi har brugt følgende værdier i vores eksempel:

Navn: Worker
Type: Worker Baggrundsjob
Startkommando npm run weatherLogger
Pod-størrelse: nano
Instanser: 1

Klik derefter på knappen Create process (Opret proces ).

Opret baggrundsprocessen for vores eksempelprogram.
Opret baggrundsprocessen for vores eksempelprogram.

Udrulning af applikationen

Til sidst skal du gå tilbage til afsnittet Deployments og klikke på knappen Deploy now (Implementer nu). Implementeringen tager normalt ca. 90 sekunder, men det kan være nødvendigt at vente lidt længere tid, før alle processer starter korrekt. Din første vejrmåling bør blive logget et par minutter efter. Hvis du vil kontrollere, at alt fungerer, kan du tage et kig på afsnittet Logs (Logfiler).

Runtime logs for eksempelprogrammet.
Runtime logs for eksempelprogrammet.

Efter et par minutter bør du se vellykkede processer i Runtime-logfilerne. I ovenstående eksempelbillede viser linje 243, at loggeren er begyndt at arbejde (Starting weather logging), og linje 244 viser, at webserveren kører (Weather server is up and running). Linje 245 og fremefter viser to logningshændelser (Weather data retrieved).

Hvis du går tilbage til afsnittet Deployments, bør du se URL’en for den seneste implementering. Klik på denne URL for at blive ført til den side, der serveres af webtjenesten:

Vejrloggersiden viser vejrposter.
Vejrloggersiden viser vejrposter.