forked from svanoort/pipeline-testcases
-
Notifications
You must be signed in to change notification settings - Fork 1
/
benchmark-base.groovy
51 lines (45 loc) · 1.46 KB
/
benchmark-base.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Basic case for benchmarking pipeline & its visualization
// Exercises basic FlowNode/log/action storage, stages, node use, and shell step
// Represents a midsized-to-large pipeline (~315ish nodes), maps well to more complexish builds for normal users
// Intended to be fairly fast to run (a few seconds) but load down some of the pipeline internals like a much larger pipeline
// Adding timestamps to the entire thing.
timestamps {
for (int i=0; i<15; i++) {
stage ("Looping Stages $i") {
echo "My stage number is $i"
node {
sh 'vmstat'
}
}
}
// Run a basic shell step
stage ('Another shell script') {
node {
// Are we on something unix-y?
if (isUnix()) {
echo "Linux or other UNIX-y system detected."
sh 'vmstat'
}
// if not, we must be on windows.
else {
echo 'Windows system detected.'
// Sample Windows bat commands:
// bat "netstat -a"
// A powershell command with lots of output. Note the
// escaped double quotes, otherwise you'll never see
// the output:
// bat "powershell.exe -command \"Get-WmiObject -Class Win32_Process\""
bat "dir /ad"
}
}
}
stage ('Label-based') {
node {
stage ('Things using node') {
for (int i=0; i<20; i++) {
echo "We have done this $i times."
}
}
}
}
}