Skip to content
Snippets Groups Projects
Jenkinsfile 2.03 KiB
Newer Older
#!/usr/bin/env groovy

pipeline {

Reiner Jung's avatar
Reiner Jung committed
  agent { 
     docker {
Reiner Jung's avatar
Reiner Jung committed
          image 'prefec2/moobench:latest'
Reiner Jung's avatar
Reiner Jung committed
          alwaysPull true
          args env.DOCKER_ARGS
     }
  }
  triggers {
    cron('0 1 * * *')
    upstream(upstreamProjects: 'kieker-dev/master', threshold: hudson.model.Result.SUCCESS)
  }

Reiner Jung's avatar
Reiner Jung committed
    KEYSTORE = credentials('kieker-irl-key')
Reiner Jung's avatar
Reiner Jung committed
    UPDATE_SITE_URL = "sftp://repo@repo.se.internal/moobench"
Reiner Jung's avatar
Reiner Jung committed
    BASE_DIR = "frameworks/Kieker/scripts"
Reiner Jung's avatar
Reiner Jung committed

    DOCKER_ARGS = ''
  }

  options {
    buildDiscarder logRotator(artifactNumToKeepStr: '10')
Reiner Jung's avatar
Reiner Jung committed
    timeout(time: 4, unit: 'HOURS') 
    retry(1)
    parallelsAlwaysFailFast()
  }

  stages {
    stage('Initial Cleanup') {
       steps {
Reiner Jung's avatar
Reiner Jung committed
          sh './gradlew clean'
Reiner Jung's avatar
Reiner Jung committed
          sh './gradlew build'
       }
    }

    stage('Run Benchmark') {
       steps {
Reiner Jung's avatar
Reiner Jung committed
          sh '${BASE_DIR}/run-benchmark.sh ${KEYSTORE} ${UPDATE_SITE_URL}'
Reiner Jung's avatar
Reiner Jung committed
       }
    }
    
    stage('Upload') {
Reiner Jung's avatar
Reiner Jung committed
       steps {
          sshagent(credentials: ['kieker-irl-key']) {
Reiner Jung's avatar
Reiner Jung committed
             sh '''
                 cd ${BASE_DIR}
	         sftp -oNoHostAuthenticationForLocalhost=yes -oStrictHostKeyChecking=no -oUser=repo -F /dev/null -i ${KEYSTORE} ${UPDATE_SITE_URL}/all-results.json
Reiner Jung's avatar
Reiner Jung committed
                 compile-results/bin/compile-results results-kieker/results-text.csv all-results.json
Reiner Jung's avatar
Reiner Jung committed
                 echo "put all-results.json" | sftp -oNoHostAuthenticationForLocalhost=yes -oStrictHostKeyChecking=no -oUser=repo  -F /dev/null -i ${KEYSTORE} ${UPDATE_SITE_URL}
                 echo "put partial-results.json" | sftp -oNoHostAuthenticationForLocalhost=yes -oStrictHostKeyChecking=no -oUser=repo  -F /dev/null -i ${KEYSTORE} ${UPDATE_SITE_URL}
                 echo "put relative-results.json" | sftp -oNoHostAuthenticationForLocalhost=yes -oStrictHostKeyChecking=no -oUser=repo  -F /dev/null -i ${KEYSTORE} ${UPDATE_SITE_URL}
Reiner Jung's avatar
Reiner Jung committed
                '''
Reiner Jung's avatar
Reiner Jung committed
          }
Reiner Jung's avatar
Reiner Jung committed
       post {
         cleanup {
           deleteDir()
           cleanWs()
         }