-
Notifications
You must be signed in to change notification settings - Fork 0
/
JenkinsfileGcc
118 lines (86 loc) · 3.61 KB
/
JenkinsfileGcc
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
pipeline {
agent {label 'l7bld-cimnet01'}
environment {
CMAKE_C_COMPILER = 'gcc'
CMAKE_CXX_COMPILER = 'g++'
NMM_ROOT = '/opt/NMM_gcc48'
BOOST_ROOT = '/opt/boost_1_61_0_Linux_x64_gcc48'
XERCES_ROOT = '/opt/xerces-c-3.1.4_Linux_x64_gcc48'
THRIFT_ROOT = '/opt/thrift-0.9.3'
NODEJS_ROOT = '/opt/node-v6.11.1-linux-x64'
M2_ROOT = '/opt/apache-maven-3.3.1'
SOURCE_ROOT = '/u02/JBld/workspace/CIMNet/Build_Main/gcc48_lx64/src'
VERSION = VersionNumber([projectStartDate: '', versionNumberString: '${BUILD_YEAR}${BUILD_MONTH, XX}${BUILD_DAY, XX}_${BUILDS_TODAY, XX}', versionPrefix: ''])
}
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '5'))
}
stages {
stage ("Fetch") {
steps {
script {
def versionNumber = "${VERSION}"
currentBuild.displayName = versionNumber
}
sh """
touch a
chmod -R ugo+rw $WORKSPACE
rm -rf '$WORKSPACE/'
mkdir $WORKSPACE
[ "$VERSION" = "" ] || export PIPELINE_VERSION=current
"""
step ([$class: 'CopyArtifact',
projectName: 'Fetch',
filter: 'nmm_dev.zip']);
// unzip source update permissions
sh """
unzip -a -o -qq nmm_*.zip
chmod -R ugo+rw *
cd buildScripts
chmod +x *
"""
// update executable bit on Habitat tools and build scripts
sh """
#!/bin/bash -x
echo -- set executable bit on Habitat tools
chmod +x '$WORKSPACE/src/network_kernel/nmm_cimnet/habcorelite/habitat_sdk/bin/libbz2.dll'
chmod +x '$WORKSPACE/src/network_kernel/nmm_cimnet/habcorelite/habitat_sdk/bin/parse_message.py'
exit 0
"""
}
}
stage ('CMAKE') {
steps {
sh " ${WORKSPACE}/buildScripts/cmake.sh"
}
}
stage ('C++ Build') {
steps {
sh " ${WORKSPACE}/buildScripts/cppBuild.sh"
}
}
stage ('Java Build') {
steps {
sh " ${WORKSPACE}/buildScripts/javaBuild.sh"
}
}
stage ('Package') {
steps {
sh " ${WORKSPACE}/buildScripts/package.sh"
}
}
}
post {
unstable {
emailext(body: '${JELLY_SCRIPT,template="ci_build_html"}',
subject: 'CIMNet Build Unstable',
}
failure {
emailext(body: '${JELLY_SCRIPT,template="ci_build_html"}',
subject: 'CIMNet Build Failure',
}
}
}