forked from Pelagicore/software-factory
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
63 lines (54 loc) · 1.7 KB
/
Jenkinsfile
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
52
53
54
55
56
57
58
59
60
61
62
63
/*
* This file is part of the Software Factory project
* Copyright (C) Pelagicore AB
* SPDX-License_identifier: LGPL-2.1
* This file is subject to the terms of the LGPL-2.1 license.
* Please see the LICENSE file for details.
*/
pipeline {
agent {
dockerfile true
}
stages {
stage('Download') {
steps {
// Delete old files
sh 'rm -rf .[^.] .??* *'
// Checkout the git repository and refspec pointed to by jenkins
checkout scm
// Update the submodule
sh "git submodule init"
sh "git submodule update"
}
}
// Configure the software with cmake
stage('Configure') {
steps {
script {
String buildParams = "-DENABLE_PDF=OFF"
sh "rm -fr build"
sh "cmake -H. -Bbuild ${buildParams}"
}
}
}
stage("Build") {
steps {
sh "cd build && make"
}
}
stage('Archive') {
steps {
script {
// Only store the HTML output in a directory with the same name
// as the branch it is on, except we replace slashes with
// dashes.
String directoryName = env.BRANCH_NAME.replace("/","-")
sh "rm -rf ${directoryName}"
sh "mv build/docs/html/ ${directoryName}"
// Archive
archiveArtifacts artifacts: "${directoryName}/**/*", fingerprint: true
}
}
}
}
}