Lasttestning och prestandamätning (JMeter och k6) · Lektion

k6 i GitHub Actions

Konfigurera k6-tester så att de körs automatiskt som en del av era GitHub Actions-arbetsflöden.

Lektion 2 av 412 steg

k6 i GitHub Actions är en gratis lektion i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lasttestning och prestandamätning (JMeter och k6), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Automatisera prestandatestning

Välkommen till integration av prestandatestning med CI/CD! Pipelines för Continuous Integration (CI) och Continuous Delivery (CD) automatiserar stegen i programvaruutvecklingen.

Genom att införa prestandatester i detta flöde säkerställer du att prestandaproblem upptäcks tidigt, innan de når användarna.

Varför k6 i GitHub Actions?

GitHub Actions erbjuder ett kraftfullt sätt att automatisera uppgifter direkt i ditt GitHub-arkiv. Här är varför det passar bra för k6-prestandatester:

  • Automatisering: Tester körs automatiskt när koden ändras.
  • Enhetlighet: Testmiljön standardiseras.
  • Tidig återkoppling: Upptäck prestandaregressioner snabbt.
  • Versionshantering: Dina testskript och arbetsflöden finns tillsammans med koden.

Grunderna i GitHub Actions-arbetsflöden

Ett GitHub Actions-arbetsflöde definieras av en YAML-fil i katalogen .github/workflows/ i ditt arkiv.

Filen anger när arbetsflödet ska köras, vad som ska köras (jobb och steg) och i vilket operativsystem.

Vårt enkla k6-testskript

Innan vi skapar arbetsflödet behöver vi ett grundläggande k6-skript. Skriptet utför en enkel HTTP GET-förfrågan till en testslutpunkt. Spara det som test.js i ditt arkiv.

import http from 'k6/http';
import { check, sleep } from 'k6';

export default function () {
  const res = http.get('https://test.k6.io');
  check(res, {
    'status is 200': (r) => r.status === 200,
  });
  sleep(1);
}

Skapa arbetsflödesfilen

Skapa först en ny katalog .github/workflows/ i roten av ditt arkiv. Skapa sedan till exempel en fil med namnet k6-perf-test.yml i den.

Den här filen definierar våra automatiseringssteg.

Arbetsflödets struktur: namn och utlösare

Varje arbetsflöde behöver ett name och en utlösare (on). Vi utlöser testet vid varje push till grenen main.

Här är början på filen k6-perf-test.yml:

name: k6 Performance Test

on:
  push:
    branches:
      - main

jobs:

Definiera testjobbet

Nästa steg är att definiera ett job. Ett jobb består av en uppsättning steg som körs på samma körmiljö. Vi kallar vårt jobb run-k6-test och använder en körmiljö med ubuntu-latest.

name: k6 Performance Test

on:
  push:
    branches:
      - main

jobs:
  run-k6-test:
    runs-on: ubuntu-latest
    steps:

Hämta kod och installera k6

I jobbets steps måste vi först hämta koden från vårt arkiv och sedan installera k6. Vi använder en färdig GitHub Action för att enkelt installera k6.

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install k6
        uses: k6io/action@v2.0.0

Köra k6-testet

Slutligen lägger vi till ett steg som kör vårt k6-skript test.js. Vi kan ange alternativ som antalet virtuella användare (-u) och varaktigheten (-d) direkt.

      - name: Install k6
        uses: k6io/action@v2.0.0

      - name: Run k6 test
        run: k6 run -u 10 -d 30s test.js

Visa testresultat

När du har checkat in filen .yml och skriptet test.js i ditt GitHub-arkiv går du till fliken Actions.

Där ser du arbetsflödet köras. Klicka på körningen av arbetsflödet och sedan på jobbet run-k6-test för att se detaljerade loggar, inklusive k6:s utdata och resultat.

Grunderna i arbetsflöden

Vilken av följande är den korrekta sökvägen och filändelsen för en GitHub Actions-arbetsflödesfil?

Sammanfattning och nästa steg

Du har lärt dig att integrera k6-prestandatester i GitHub Actions! Det möjliggör automatiserad, enhetlig och tidig återkoppling om prestandan.

  • Vi gick igenom arbetsflödets struktur.
  • Vi konfigurerade ett k6-skript och YAML-arbetsflödesfilen.
  • Vi konfigurerade steg för att hämta kod, installera k6 och köra testet.
  • Vi gick igenom hur du visar resultat i GitHub Actions.

Utforska sedan mer avancerade k6-funktioner i dina arbetsflöden, till exempel rapportering och tröskelvärden!

Gratis att börja

Lär dig Lasttestning och prestandamätning (JMeter och k6) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”k6 i GitHub Actions” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lasttestning och prestandamätning (JMeter och k6), inklusive ”k6 i GitHub Actions”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.

Vad lär jag mig i ”k6 i GitHub Actions”?

Konfigurera k6-tester så att de körs automatiskt som en del av era GitHub Actions-arbetsflöden. Ni övar på Lasttestning och prestandamätning (JMeter och k6) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Lasttestning och prestandamätning (JMeter och k6)?

Du behöver inga förkunskaper. Utbildningen i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”k6 i GitHub Actions”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Lasttestning och prestandamätning (JMeter och k6)-lektionen?

Ja. Varje Lasttestning och prestandamätning (JMeter och k6)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Integrera JMeter med Jenkins
  2. k6 i GitHub Actions
  3. Prestandagrindar och SLO:er
  4. Trendanalys och baslinjer i CI
← Tillbaka till Lasttestning och prestandamätning (JMeter och k6)