Skip to content

Commit 5094fee

Browse files
authored
[sairedis]: Make Jenkinsfile DRY (#41)
* [sairedis]: Make Jenkinsfile DRY * Add color support Signed-off-by: Shu0T1an ChenG <[email protected]>
1 parent 58be834 commit 5094fee

File tree

3 files changed

+68
-95
lines changed

3 files changed

+68
-95
lines changed

jenkins/vs/sonic-sairedis-build-pr/Jenkinsfile

+14-48
Original file line numberDiff line numberDiff line change
@@ -4,64 +4,30 @@ pipeline {
44
stages {
55
stage('Prepare') {
66
steps {
7-
checkout([$class: 'GitSCM',
8-
branches: [[name: '${sha1}']],
9-
extensions: [[$class: 'SubmoduleOption',
10-
disableSubmodules: false,
11-
parentCredentials: false,
12-
recursiveSubmodules: true,
13-
reference: '',
14-
trackingSubmodules: false]],
15-
userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-sairedis',
16-
refspec: '+refs/pull/*:refs/remotes/origin/pr/*']]])
7+
dir('sairedis') {
8+
checkout([$class: 'GitSCM',
9+
branches: [[name: '${sha1}']],
10+
extensions: [[$class: 'SubmoduleOption',
11+
disableSubmodules: false,
12+
parentCredentials: false,
13+
recursiveSubmodules: true,
14+
reference: '',
15+
trackingSubmodules: false]],
16+
userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-sairedis',
17+
refspec: '+refs/pull/*:refs/remotes/origin/pr/*']]])
18+
}
19+
copyArtifacts(projectName: 'common/sonic-swss-common-build', filter: '**/*.deb', target: 'common', flatten: true)
1720
copyArtifacts(projectName: 'buildimage-vs-all', filter: '**/*.deb', target: 'buildimage', flatten: false)
18-
copyArtifacts(projectName: 'common/sonic-swss-common-build', filter: '**/*.deb', target: 'swss-common', flatten: true)
19-
2021
}
2122
}
2223

2324
stage('Build') {
2425
steps {
25-
sh '''
26-
#!/bin/bash -xe
27-
28-
# Install hiredis
29-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis0.14_*.deb
30-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis-dev_*.deb
31-
32-
# Install REDIS
33-
sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb
34-
sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb
35-
sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf
36-
sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf
37-
sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf
38-
sudo service redis-server start
39-
40-
# Install hiredis
41-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis*.deb
42-
43-
# Install libnl3
44-
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-200_*.deb
45-
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-200_*.deb
46-
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-200_*.deb
47-
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-dev_*.deb
48-
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-dev_*.deb
49-
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-dev_*.deb
50-
51-
# Install SWSS-common
52-
sudo dpkg -i swss-common/*.deb
53-
54-
./autogen.sh
55-
dpkg-buildpackage -rfakeroot -b -us -uc --as-root -Tbinary-syncd-vs
56-
57-
mkdir target
58-
cp ../*.deb target/
59-
'''
26+
sh './scripts/vs/sonic-sairedis-build/build.sh'
6027
}
6128
}
6229
}
6330
post {
64-
6531
success {
6632
archiveArtifacts(artifacts: 'target/*.deb, **/*.log, target/var/log/*')
6733
}

jenkins/vs/sonic-sairedis-build/Jenkinsfile

+16-47
Original file line numberDiff line numberDiff line change
@@ -4,63 +4,32 @@ pipeline {
44
stages {
55
stage('Prepare') {
66
steps {
7-
checkout([$class: 'GitSCM',
8-
branches: [[name: 'refs/heads/master']],
9-
extensions: [[$class: 'SubmoduleOption',
10-
disableSubmodules: false,
11-
parentCredentials: false,
12-
recursiveSubmodules: true,
13-
reference: '',
14-
trackingSubmodules: false]],
15-
userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-sairedis']]])
7+
dir('sairedis') {
8+
checkout([$class: 'GitSCM',
9+
branches: [[name: '*/master']],
10+
extensions: [[$class: 'SubmoduleOption',
11+
disableSubmodules: false,
12+
parentCredentials: false,
13+
recursiveSubmodules: true,
14+
reference: '',
15+
trackingSubmodules: false]],
16+
userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-sairedis']]])
17+
18+
}
19+
copyArtifacts(projectName: 'common/sonic-swss-common-build', filter: '**/*.deb', target: 'common', flatten: true)
1620
copyArtifacts(projectName: 'buildimage-vs-all', filter: '**/*.deb', target: 'buildimage', flatten: false)
17-
copyArtifacts(projectName: 'common/sonic-swss-common-build', filter: '**/*.deb', target: 'swss-common', flatten: true)
18-
1921
}
2022
}
2123

2224
stage('Build') {
2325
steps {
24-
sh '''
25-
#!/bin/bash -xe
26-
27-
# Install hiredis
28-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis0.14_*.deb
29-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis-dev_*.deb
30-
31-
# Install REDIS
32-
sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb
33-
sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb
34-
sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf
35-
sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf
36-
sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf
37-
sudo service redis-server start
38-
39-
# Install hiredis
40-
sudo dpkg -i buildimage/target/debs/stretch/libhiredis*.deb
41-
42-
# Install libnl3
43-
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-200_*.deb
44-
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-200_*.deb
45-
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-200_*.deb
46-
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-dev_*.deb
47-
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-dev_*.deb
48-
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-dev_*.deb
49-
50-
# Install SWSS-common
51-
sudo dpkg -i swss-common/*.deb
52-
53-
./autogen.sh
54-
dpkg-buildpackage -rfakeroot -b -us -uc --as-root -Tbinary-syncd-vs
55-
56-
mkdir target
57-
cp ../*.deb target/
58-
'''
26+
wrap([$class: 'AnsiColorBuildWrapper', 'colorMapName': 'xterm']) {
27+
sh './scripts/vs/sonic-sairedis-build/build.sh'
28+
}
5929
}
6030
}
6131
}
6232
post {
63-
6433
success {
6534
archiveArtifacts(artifacts: 'target/*.deb, **/*.log, target/var/log/*')
6635
}
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash -ex
2+
3+
# Install HIREDIS
4+
sudo dpkg -i buildimage/target/debs/stretch/libhiredis*.deb
5+
6+
# Install libnl3
7+
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-200_*.deb
8+
sudo dpkg -i buildimage/target/debs/stretch/libnl-3-dev_*.deb
9+
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-200_*.deb
10+
sudo dpkg -i buildimage/target/debs/stretch/libnl-genl-3-dev_*.deb
11+
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-200_*.deb
12+
sudo dpkg -i buildimage/target/debs/stretch/libnl-route-3-dev_*.deb
13+
sudo dpkg -i buildimage/target/debs/stretch/libnl-nf-3-200_*.deb
14+
sudo dpkg -i buildimage/target/debs/stretch/libnl-nf-3-dev_*.deb
15+
sudo dpkg -i buildimage/target/debs/stretch/libnl-cli-3-200_*.deb
16+
sudo dpkg -i buildimage/target/debs/stretch/libnl-cli-3-dev_*.deb
17+
18+
# Install common library
19+
sudo dpkg -i common/libswsscommon_*.deb
20+
sudo dpkg -i common/libswsscommon-dev_*.deb
21+
22+
# Install REDIS
23+
sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb
24+
sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb
25+
sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf
26+
sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf
27+
sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf
28+
sudo service redis-server start
29+
30+
pushd sairedis
31+
32+
./autogen.sh
33+
fakeroot debian/rules binary-syncd-vs
34+
35+
popd
36+
37+
mkdir target
38+
cp *.deb target/

0 commit comments

Comments
 (0)