From ab08248c9702c7c3953c903d87eed85714996da6 Mon Sep 17 00:00:00 2001 From: Shuotian Cheng Date: Fri, 19 Jul 2019 15:07:10 -0700 Subject: [PATCH] [jenkins]: Add sonic-telemetry build script (#48) Signed-off-by: Shu0T1an ChenG --- .../sonic-telemetry-build-pr/Jenkinsfile | 34 +++---------------- .../common/sonic-telemetry-build/Jenkinsfile | 34 +++---------------- scripts/common/sonic-telemetry-build/build.sh | 22 ++++++++++++ 3 files changed, 32 insertions(+), 58 deletions(-) create mode 100755 scripts/common/sonic-telemetry-build/build.sh diff --git a/jenkins/common/sonic-telemetry-build-pr/Jenkinsfile b/jenkins/common/sonic-telemetry-build-pr/Jenkinsfile index 420422ff24d4..61c1a21ec7d3 100644 --- a/jenkins/common/sonic-telemetry-build-pr/Jenkinsfile +++ b/jenkins/common/sonic-telemetry-build-pr/Jenkinsfile @@ -4,47 +4,23 @@ pipeline { stages { stage('Prepare') { steps { - checkout([$class: 'GitSCM', - branches: [[name: '${sha1}']], - extensions: [[$class: 'SubmoduleOption', - disableSubmodules: false, - parentCredentials: false, - recursiveSubmodules: false, - reference: '', - trackingSubmodules: false]], + dir('sonic-telemetry') { + checkout([$class: 'GitSCM', + branches: [[name: '${sha1}']], userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-telemetry', refspec: '+refs/pull/*:refs/remotes/origin/pr/*']]]) + } copyArtifacts(projectName: 'vs/buildimage-vs-all', filter: '**/*.deb', target: 'buildimage', flatten: false) - } } stage('Build') { steps { - sh ''' -#!/bin/bash -ex - -# Install hiredis -sudo dpkg -i buildimage/target/debs/stretch/libhiredis0.14_*.deb -sudo dpkg -i buildimage/target/debs/stretch/libhiredis-dev_*.deb - -# Install REDIS -sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb -sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb -sudo sed -i 's/notify-keyspace-events ""/notify-keyspace-events AKE/' /etc/redis/redis.conf -sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf -sudo service redis-server start - -dpkg-buildpackage -rfakeroot -b -us -uc - -mkdir target -cp ../*.deb target/ -''' + sh './scripts/common/sonic-telemetry-build/build.sh' } } } post { - success { archiveArtifacts(artifacts: 'target/*.deb') } diff --git a/jenkins/common/sonic-telemetry-build/Jenkinsfile b/jenkins/common/sonic-telemetry-build/Jenkinsfile index dbce55781306..105f4f203470 100644 --- a/jenkins/common/sonic-telemetry-build/Jenkinsfile +++ b/jenkins/common/sonic-telemetry-build/Jenkinsfile @@ -13,46 +13,22 @@ pipeline { stages { stage('Prepare') { steps { - checkout([$class: 'GitSCM', - branches: [[name: 'refs/heads/master']], - extensions: [[$class: 'SubmoduleOption', - disableSubmodules: false, - parentCredentials: false, - recursiveSubmodules: false, - reference: '', - trackingSubmodules: false]], + dir('sonic-telemetry') { + checkout([$class: 'GitSCM', + branches: [[name: 'refs/heads/master']], userRemoteConfigs: [[url: 'http://github.com/Azure/sonic-telemetry']]]) + } copyArtifacts(projectName: '../vs/buildimage-vs-all', filter: '**/*.deb', target: 'buildimage', flatten: false) - } } stage('Build') { steps { - sh ''' -#!/bin/bash -ex - -# Install hiredis -sudo dpkg -i buildimage/target/debs/stretch/libhiredis0.14_*.deb -sudo dpkg -i buildimage/target/debs/stretch/libhiredis-dev_*.deb - -# Install REDIS -sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb -sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb -sudo sed -i 's/notify-keyspace-events ""/notify-keyspace-events AKE/' /etc/redis/redis.conf -sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf -sudo service redis-server start - -dpkg-buildpackage -rfakeroot -b -us -uc - -mkdir target -cp ../*.deb target/ -''' + sh './scripts/common/sonic-telemetry-build/build.sh' } } } post { - success { archiveArtifacts(artifacts: 'target/*.deb') } diff --git a/scripts/common/sonic-telemetry-build/build.sh b/scripts/common/sonic-telemetry-build/build.sh new file mode 100755 index 000000000000..a0a073389722 --- /dev/null +++ b/scripts/common/sonic-telemetry-build/build.sh @@ -0,0 +1,22 @@ +#!/bin/bash -ex + +# Install HIREDIS +sudo dpkg -i buildimage/target/debs/stretch/libhiredis*.deb + +# Install REDIS +sudo dpkg -i buildimage/target/debs/stretch/redis-tools_*.deb +sudo dpkg -i buildimage/target/debs/stretch/redis-server_*.deb +sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf +sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf +sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf +sudo service redis-server start + +pushd sonic-telemetry + +dpkg-buildpackage -rfakeroot -b -us -uc + +popd + +mkdir target +cp *.deb target/ +