From 44f169ea27ef55b5ebc56c927e1923e0e8684870 Mon Sep 17 00:00:00 2001 From: Kostas Evangelou Date: Mon, 6 Apr 2020 17:44:51 +0300 Subject: [PATCH] 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