Skip to main content
Back to Store
Package Digital Product Free Tier

Perf CI Pipelines

Drop-in CI/CD pipeline templates for JMeter, K6, and Gatling across GitHub Actions, GitLab CI, Jenkins, and Azure DevOps.

Free Community · Professional £500/yr

After purchase, your license key is emailed by Lemon Squeezy. Enter it on the download page to access your templates.

What's Included

GitHub Actions, GitLab CI, Jenkins & Azure DevOps
JMeter, K6 & Gatling templates
Quality gates with configurable thresholds
perf-lint script quality checks (all platforms)
Full pipeline: data gen → test → report → notify
Distributed K8s testing (JMeter, K6, Gatling)
upload-to-results-db integration
Threshold & scenario presets included

Overview

Perf CI Pipelines gives you production-ready CI/CD pipeline templates for running performance tests in GitHub Actions, GitLab CI, Jenkins, and Azure DevOps — with no boilerplate to write.

Drop the templates into your repository, point them at your test file, and get quality-gated performance testing in your pipeline in minutes. All templates run tests via perf-containers so no JMeter, K6, or Gatling installation is required on your CI agents.

Template Types

Basic Templates (Community)

Minimal single-tool workflows for PR smoke tests and on-demand runs. Available for all four CI platforms × three tools (JMeter, K6, Gatling).

Each basic template includes:

  • perf-lint script quality check before test execution (non-blocking)
  • Test execution via perf-containers
  • Results uploaded as CI artifacts
  • Markdown summary in the pipeline run

Full Pipeline Templates (Professional)

Complete six-stage workflows covering the entire testing lifecycle:

StageDescription
SetupReads and validates perf-config.yaml
Lintperf-lint quality check on the test script
Data generationGenerates test data via dummydatagenpro
Test executionRuns the test via perf-containers
Quality gatesEvaluates results against configurable thresholds
ReportingHTML report via perf-reporting, upload to perf-results-db
NotificationsSlack / email / Teams notification with run summary

Distributed Testing (Professional)

Kubernetes-based high-scale load generation for all three tools:

  • JMeter — controller + worker pods via Helm charts
  • K6 — parallel segments via k6-operator
  • Gatling — injection nodes via Kubernetes Jobs

Pricing

Feature Community Professional
GitHub Actions, GitLab CI, Jenkins, Azure DevOps
JMeter, K6 & Gatling
Basic pipeline templates
perf-lint integration
Quality gates & threshold presets
Scenario presets (smoke / load / stress / soak)
Full pipeline templates (6-stage)
Distributed K8s testing
Composite actions / shared library / step templates
upload-to-results-db integration
Price
Free
£500
/year
Download Free Buy Professional

30-day money-back guarantee · Annual license

Quick Start

GitHub Actions

# .github/workflows/performance.yml
jobs:
  perf-test:
    uses: markslilley/perf-ci-pipelines/.github/workflows/performance-pipeline.yml@main
    with:
      scenario: load
      environment: staging
    secrets:
      SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

GitLab CI

include:
  - remote: 'https://raw.githubusercontent.com/markslilley/perf-ci-pipelines/main/gitlab-ci/templates/basic-jmeter.yml'

variables:
  PERF_TARGET_HOST: "https://api.staging.example.com"
  PERF_TEST_FILE: "tests/performance/load-test.jmx"

Jenkins

@Library('perf-ci-pipelines') _

pipeline {
    agent any
    stages {
        stage('Performance Test') {
            steps {
                script {
                    perfTest(tool: 'jmeter', testFile: 'tests/load-test.jmx', duration: '10m', users: 50)
                    perfQualityGates(tool: 'jmeter', resultsFile: 'results/results.jtl', thresholdPreset: 'default')
                }
            }
        }
    }
}

Azure DevOps

- template: azure-devops/templates/jobs/perf-test-jmeter.yml@perf-templates
  parameters:
    testFile: 'tests/load-test.jmx'
    duration: '10m'
    users: 50
    enableQualityGates: true

Configuration

Create perf-config.yaml in your repository root:

version: "1.0"
tool: jmeter   # jmeter | k6 | gatling

environments:
  staging:
    host: api.staging.example.com
    port: 443

thresholds:
  response_time:
    p95_max_ms: 1500
  error_rate:
    max_percent: 1.0

scenarios:
  load:
    duration: 15m
    users: 100
    test_file: tests/performance/load-test.jmx

FAQ

Why do I need a license key for the free tier?

The templates are in a private GitHub repository. The license key authenticates your download from the update service and lets us identify genuine users.

Can I use the Community templates with any CI/CD tool?

Yes — Community includes basic templates for all four platforms (GitHub Actions, GitLab CI, Jenkins, Azure DevOps) supporting all three tools (JMeter, K6, Gatling).

Do the templates require Docker?

Yes. All templates execute tests via perf-containers, which requires Docker on the CI agent or runner. GitHub-hosted runners have Docker pre-installed.

Is my test data sent to Martkos IT?

No. All test execution and results stay within your CI/CD environment and infrastructure.

£500