author | Jan Vrany <jan.vrany@labware.com> |
Fri, 12 Jun 2020 21:17:27 +0100 | |
changeset 292 | 00d3840350c2 |
child 295 | a04034567c92 |
permissions | -rw-r--r-- |
292
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
1 |
/* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
2 |
* Run default pipeline. See `steps.groovy` for details. |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
3 |
*/ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
4 |
|
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
5 |
def steps; |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
6 |
|
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
7 |
/* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
8 |
* A helper function to return a branch to build. |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
9 |
* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
10 |
* For normal jobs this is the value of 'Branch' field from SCM configuration. |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
11 |
* For multibranch jobs, this is the value of BRANCH_NAME environment variable. |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
12 |
* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
13 |
* This is the same as build() function in `steps.groovy` and should be kept |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
14 |
* in sync. We cannot use the one there as we yet have to load it. |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
15 |
*/ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
16 |
def branch() { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
17 |
if (env.BRANCH_NAME == null) { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
18 |
return scm.getBranch(); |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
19 |
} else { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
20 |
return env.BRANCH_NAME; |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
21 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
22 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
23 |
|
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
24 |
stage ( "Load Pipeline") { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
25 |
node { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
26 |
/* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
27 |
* Do not use default workspace here as checkout |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
28 |
* would erase all contents. Use a dedicated |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
29 |
* workspace instead |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
30 |
*/ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
31 |
ws ("workspace/${env.JOB_NAME}@loadpipeline") { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
32 |
sshagent([ scm.getCredentialsId() ]) { |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
33 |
sh """ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
34 |
if [ -f ci/steps.groovy ]; then |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
35 |
hg pull --ssh ssh ${scm.getSource()} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
36 |
else |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
37 |
hg clone --ssh ssh ${scm.getSource()} . |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
38 |
fi |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
39 |
hg up ${branch()} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
40 |
""" |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
41 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
42 |
steps = load "ci/steps.groovy" |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
43 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
44 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
45 |
} |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
46 |
|
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
47 |
/* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
48 |
* Set the branch to build to make sure it's in sync... |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
49 |
*/ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
50 |
steps.branch = branch() |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
51 |
|
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
52 |
/* |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
53 |
* ...and fire the pipeline |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
54 |
*/ |
00d3840350c2
CI: use different files for different pipelines...
Jan Vrany <jan.vrany@labware.com>
parents:
diff
changeset
|
55 |
steps.integration() |