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