From 44f169ea27ef55b5ebc56c927e1923e0e8684870 Mon Sep 17 00:00:00 2001 From: Kostas Evangelou Date: Mon, 6 Apr 2020 17:44:51 +0300 Subject: [PATCH 1/3] DEVOPS-91 Add Jenkinsfile --- Jenkinsfile | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..d9926ec --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,70 @@ +pipeline { + agent any + options { + checkoutToSubdirectory('b2share-nagios-plugin') + } + environment { + PROJECT_DIR="b2share-nagios-plugin" + GIT_COMMIT=sh(script: "cd ${WORKSPACE}/$PROJECT_DIR && git log -1 --format=\"%H\"",returnStdout: true).trim() + GIT_COMMIT_HASH=sh(script: "cd ${WORKSPACE}/$PROJECT_DIR && git log -1 --format=\"%H\" | cut -c1-7",returnStdout: true).trim() + GIT_COMMIT_DATE=sh(script: "date -d \"\$(cd ${WORKSPACE}/$PROJECT_DIR && git show -s --format=%ci ${GIT_COMMIT_HASH})\" \"+%Y%m%d%H%M%S\"",returnStdout: true).trim() + + } + stages { + stage ('Build'){ + parallel { + stage ('Build Centos 6') { + agent { + docker { + image 'argo.registry:5000/epel-6-ams' + args '-u jenkins:jenkins' + } + } + steps { + echo 'Building Rpm...' + withCredentials(bindings: [sshUserPrivateKey(credentialsId: 'jenkins-rpm-repo', usernameVariable: 'REPOUSER', \ + keyFileVariable: 'REPOKEY')]) { + sh "/home/jenkins/build-rpm.sh -w ${WORKSPACE} -b ${BRANCH_NAME} -d centos6 -p ${PROJECT_DIR} -s ${REPOKEY}" + } + archiveArtifacts artifacts: '**/*.rpm', fingerprint: true + } + } + stage ('Build Centos 7') { + agent { + docker { + image 'argo.registry:5000/epel-7-ams' + args '-u jenkins:jenkins' + } + } + steps { + echo 'Building Rpm...' + withCredentials(bindings: [sshUserPrivateKey(credentialsId: 'jenkins-rpm-repo', usernameVariable: 'REPOUSER', \ + keyFileVariable: 'REPOKEY')]) { + sh "/home/jenkins/build-rpm.sh -w ${WORKSPACE} -b ${BRANCH_NAME} -d centos7 -p ${PROJECT_DIR} -s ${REPOKEY}" + } + archiveArtifacts artifacts: '**/*.rpm', fingerprint: true + } + } + } + } + } + post { + always { + cleanWs() + } + success { + script{ + if ( env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'devel' ) { + slackSend( message: ":rocket: New version for !") + } + } + } + failure { + script{ + if ( env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'devel' ) { + slackSend( message: ":rain_cloud: Build Failed for . Branch: $BRANCH_NAME Job: [$JOB_NAME]") + } + } + } + } +} \ No newline at end of file From 132d2944ecdf25d2442a91dc3a8fb1dd5eacfb80 Mon Sep 17 00:00:00 2001 From: kevangel79 <58726215+kevangel79@users.noreply.github.com> Date: Tue, 7 Apr 2020 13:13:18 +0300 Subject: [PATCH 2/3] Update project name to match makefile --- Jenkinsfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d9926ec..7778bc9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,10 +1,10 @@ pipeline { agent any options { - checkoutToSubdirectory('b2share-nagios-plugin') + checkoutToSubdirectory('nagios-plugins-eudat-b2share') } environment { - PROJECT_DIR="b2share-nagios-plugin" + PROJECT_DIR="nagios-plugins-eudat-b2share" GIT_COMMIT=sh(script: "cd ${WORKSPACE}/$PROJECT_DIR && git log -1 --format=\"%H\"",returnStdout: true).trim() GIT_COMMIT_HASH=sh(script: "cd ${WORKSPACE}/$PROJECT_DIR && git log -1 --format=\"%H\" | cut -c1-7",returnStdout: true).trim() GIT_COMMIT_DATE=sh(script: "date -d \"\$(cd ${WORKSPACE}/$PROJECT_DIR && git show -s --format=%ci ${GIT_COMMIT_HASH})\" \"+%Y%m%d%H%M%S\"",returnStdout: true).trim() @@ -67,4 +67,4 @@ pipeline { } } } -} \ No newline at end of file +} From fa7bef448bf9ea9b1ffb715f135b08480d5e17bc Mon Sep 17 00:00:00 2001 From: kevangel79 <58726215+kevangel79@users.noreply.github.com> Date: Tue, 7 Apr 2020 17:26:15 +0300 Subject: [PATCH 3/3] Update Jenkinsfile --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 7778bc9..260ff78 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -55,14 +55,14 @@ pipeline { success { script{ if ( env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'devel' ) { - slackSend( message: ":rocket: New version for !") + slackSend( message: ":rocket: New version for <$BUILD_URL|$PROJECT_DIR>:$BRANCH_NAME Job: $JOB_NAME !") } } } failure { script{ if ( env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'devel' ) { - slackSend( message: ":rain_cloud: Build Failed for . Branch: $BRANCH_NAME Job: [$JOB_NAME]") + slackSend( message: ":rain_cloud: Build Failed for <$BUILD_URL|$PROJECT_DIR>:$BRANCH_NAME Job: $JOB_NAME") } } }