k6 in GitHub Actions
Stel k6-tests zo in dat ze automatisch worden uitgevoerd als onderdeel van uw GitHub Actions-workflows.
k6 in GitHub Actions is een gratis Loadtesten en prestatiebenchmarking (JMeter en k6)-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Loadtesten en prestatiebenchmarking (JMeter en k6). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
Prestatietests automatiseren
Welkom bij de integratie van prestatietests met CI/CD! Pipelines voor Continuous Integration (CI) en Continuous Delivery (CD) automatiseren stappen in softwareontwikkeling.
Door prestatietests in deze stroom op te nemen, zorg je ervoor dat prestatieproblemen vroeg worden ontdekt, voordat ze gebruikers bereiken.
Waarom k6 in GitHub Actions?
GitHub Actions biedt een krachtige manier om taken rechtstreeks binnen je GitHub-repository te automatiseren. Dit zijn de redenen waarom het uitstekend geschikt is voor prestatietests met k6:
- Automatisering: tests worden automatisch uitgevoerd bij codewijzigingen.
- Consistentie: de testomgeving is gestandaardiseerd.
- Vroege feedback: je ontdekt teruglopende prestaties snel.
- Versiebeheer: je testscripts en werkstromen staan samen met je code.
Basisprincipes van GitHub Actions-werkstromen
Een werkstroom van GitHub Actions wordt gedefinieerd door een YAML-bestand in de map .github/workflows/ van je repository.
Het bestand bepaalt wanneer de werkstroom wordt uitgevoerd, wat er wordt uitgevoerd (taken en stappen) en op welk besturingssysteem.
Ons eenvoudige k6-testscript
Voordat we de werkstroom maken, hebben we een eenvoudig k6-script nodig. Dit script voert een eenvoudige HTTP GET-aanvraag uit naar een test-eindpunt. Sla het in je repository op als test.js.
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);
}Het werkstroombestand maken
Maak eerst een nieuwe map .github/workflows/ in de hoofdmap van je repository. Maak daarin bijvoorbeeld een bestand met de naam k6-perf-test.yml.
In dit bestand definiëren we onze automatiseringsstappen.
Werkstroomstructuur: naam en trigger
Elke werkstroom heeft een name en een trigger (on) nodig. We activeren onze test bij elke push naar de branch main.
Dit is het begin van ons bestand k6-perf-test.yml:
name: k6 Performance Test
on:
push:
branches:
- main
jobs:De testtaak definiëren
Vervolgens definiëren we een job. Een taak is een reeks stappen die op dezelfde uitvoerder worden uitgevoerd. We noemen die van ons run-k6-test en gebruiken een uitvoerder met ubuntu-latest.
name: k6 Performance Test
on:
push:
branches:
- main
jobs:
run-k6-test:
runs-on: ubuntu-latest
steps:Code uitchecken en k6 installeren
Binnen de steps van onze taak moeten we eerst de code uit onze repository uitchecken en vervolgens k6 installeren. We gebruiken een vooraf gemaakte GitHub Action om k6 eenvoudig te installeren.
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install k6
uses: k6io/action@v2.0.0De k6-test uitvoeren
Ten slotte voegen we een stap toe om ons k6-script test.js uit te voeren. We kunnen opties zoals het aantal virtuele gebruikers (-u) en de tijdsduur (-d) rechtstreeks opgeven.
- name: Install k6
uses: k6io/action@v2.0.0
- name: Run k6 test
run: k6 run -u 10 -d 30s test.jsTestresultaten bekijken
Nadat je het bestand .yml en het script test.js naar je GitHub-repository hebt gecommit, ga je naar het tabblad Actions.
Je ziet dat je werkstroom wordt uitgevoerd. Klik op de uitvoering van de werkstroom en vervolgens op de taak run-k6-test om de gedetailleerde logboeken te bekijken, inclusief de uitvoer en resultaten van k6.
Essentiële onderdelen van werkstromen
Wat is het juiste pad en de juiste bestandsextensie voor een werkstroombestand van GitHub Actions?
Samenvatting en volgende stappen
Je hebt geleerd hoe je prestatietests met k6 in GitHub Actions integreert! Hierdoor krijg je geautomatiseerde, consistente en vroege feedback over prestaties.
- We hebben de structuur van een werkstroom verkend.
- We hebben een k6-script en het YAML-werkstroombestand ingesteld.
- We hebben stappen geconfigureerd voor het uitchecken van code, het installeren van k6 en het uitvoeren van de test.
- We hebben geleerd hoe je resultaten in GitHub Actions bekijkt.
Verken vervolgens geavanceerdere functies van k6 in je werkstromen, zoals rapportage en drempelwaarden!
Leer Loadtesten en prestatiebenchmarking (JMeter en k6) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “k6 in GitHub Actions” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Loadtesten en prestatiebenchmarking (JMeter en k6), waaronder “k6 in GitHub Actions”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Loadtesten en prestatiebenchmarking (JMeter en k6) bevat in totaal 4 lessen.
Wat leer ik in “k6 in GitHub Actions”?
Stel k6-tests zo in dat ze automatisch worden uitgevoerd als onderdeel van uw GitHub Actions-workflows. Je oefent met Loadtesten en prestatiebenchmarking (JMeter en k6) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Loadtesten en prestatiebenchmarking (JMeter en k6) te beginnen?
Ervaring vooraf is niet nodig. Loadtesten en prestatiebenchmarking (JMeter en k6) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “k6 in GitHub Actions”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Loadtesten en prestatiebenchmarking (JMeter en k6)?
Ja. Elke les over Loadtesten en prestatiebenchmarking (JMeter en k6) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- JMeter integreren met Jenkins
- k6 in GitHub Actions
- Prestatiepoorten en SLO's
- Trendanalyse en baselining in CI