@ -0,0 +1,14 @@
pipeline {
agent any
stages {
stage('Performance Testing') {
steps {
echo 'Installing k6'
sh 'sudo chmod +x setup_k6.sh'
sh 'sudo ./setup_k6.sh'
echo 'Running K6 performance tests...'
sh 'k6 run loadtests/performance-test.js'
}
@ -0,0 +1,15 @@
import { sleep } from"k6";
import http from "k6/http";
export let options = {
duration: "1m",
vus: 50,
thresholds: {
http_req_duration: ["p(95)<500"] // 95 percent of response times must be below 500ms
};
export default function() {
http.get("http://test.k6.io/contacts.php");
sleep(3);
@ -0,0 +1,9 @@
#!/bin/bash
set -ex
sudo apt-get update
sudo apt-get install dirmngr --install-recommends
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61
echo "deb https://dl.bintray.com/loadimpact/deb stable main" | sudo tee -a /etc/apt/sources.list
sudo apt-get install k6