k6 in GitHub Actions
Richten Sie k6-Tests so ein, dass sie automatisch als Teil Ihrer GitHub-Actions-Workflows ausgeführt werden.
k6 in GitHub Actions ist eine kostenlose Load Testing & Performance Benchmarking (JMeter & k6)-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Load Testing & Performance Benchmarking (JMeter & k6)-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Load Testing & Performance Benchmarking (JMeter & k6)-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Automating Performance Testing
Welcome to integrating performance testing with CI/CD! Continuous Integration (CI) and Continuous Delivery (CD) pipelines automate software development steps.
Bringing performance tests into this flow ensures that performance issues are caught early, before they reach users.
Why k6 in GitHub Actions?
GitHub Actions provides a powerful way to automate tasks directly within your GitHub repository. Here's why it's great for k6 performance tests:
- Automation: Tests run automatically on code changes.
- Consistency: The test environment is standardized.
- Early Feedback: Catch performance regressions quickly.
- Version Control: Your test scripts and workflows live with your code.
GitHub Actions Workflow Basics
A GitHub Actions workflow is defined by a YAML file in the .github/workflows/ directory of your repository.
It specifies when to run, what to run (jobs and steps), and on which operating system.
Our Simple k6 Test Script
Before creating the workflow, let's have a basic k6 script. This script will perform a simple HTTP GET request to a test endpoint. Save this as test.js in your repository.
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);
}Creating the Workflow File
First, create a new directory .github/workflows/ in the root of your repository. Inside this, create a file named, for example, k6-perf-test.yml.
This file will define our automation steps.
Workflow Structure: Name & Trigger
Every workflow needs a name and a trigger (on). We'll trigger our test on every push to the main branch.
Here's the start of our k6-perf-test.yml file:
name: k6 Performance Test
on:
push:
branches:
- main
jobs:Defining the Test Job
Next, we define a job. A job is a set of steps that execute on the same runner. We'll call ours run-k6-test and use an ubuntu-latest runner.
name: k6 Performance Test
on:
push:
branches:
- main
jobs:
run-k6-test:
runs-on: ubuntu-latest
steps:Checkout Code & Install k6
Inside our job's steps, we first need to check out our repository code, then install k6. We'll use a pre-built GitHub Action to easily install k6.
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install k6
uses: k6io/action@v2.0.0Executing the k6 Test
Finally, we add a step to run our test.js k6 script. We can specify options like the number of virtual users (-u) and duration (-d) directly.
- name: Install k6
uses: k6io/action@v2.0.0
- name: Run k6 test
run: k6 run -u 10 -d 30s test.jsViewing Test Results
After committing your .yml file and test.js script to your GitHub repository, navigate to the Actions tab.
You'll see your workflow running. Click on the workflow run, then the run-k6-test job to view the detailed logs, including k6's output and results.
Workflow Essentials
Which of the following is the correct path and file extension for a GitHub Actions workflow file?
Recap & Next Steps
You've learned how to integrate k6 performance tests into GitHub Actions! This enables automated, consistent, and early performance feedback.
- We explored the workflow structure.
- Set up a k6 script and the YAML workflow file.
- Configured steps for checking out code, installing k6, and running the test.
- Understood how to view results in GitHub Actions.
Next, explore more advanced k6 features in your workflows, like reporting and thresholds!
Häufig gestellte Fragen
Ist die Lektion „k6 in GitHub Actions“ kostenlos?
Ja — der vollständige Text von „k6 in GitHub Actions“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Load Testing & Performance Benchmarking (JMeter & k6)-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Load Testing & Performance Benchmarking (JMeter & k6)-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „k6 in GitHub Actions“?
Richten Sie k6-Tests so ein, dass sie automatisch als Teil Ihrer GitHub-Actions-Workflows ausgeführt werden. Du übst Load Testing & Performance Benchmarking (JMeter & k6) mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Load Testing & Performance Benchmarking (JMeter & k6) zu starten?
Keine Vorkenntnisse erforderlich. Load Testing & Performance Benchmarking (JMeter & k6) auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „k6 in GitHub Actions“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Load Testing & Performance Benchmarking (JMeter & k6)-Lektion Code schreiben und ausführen?
Ja. Jede Load Testing & Performance Benchmarking (JMeter & k6)-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- JMeter in Jenkins integrieren
- k6 in GitHub Actions
- Performance Gates und SLOs
- Trendanalyse und Baselining in CI