#!/usr/bin/env groovy pipeline { agent { label 'executor-v2' } options { timestamps() buildDiscarder(logRotator(numToKeepStr: '30')) } triggers { cron(getDailyCronString()) } stages { stage('Test') { steps { sh './test' } } // Only publish to RubyGems if branch is 'master' stage('Publish to RubyGems?') { agent { label 'releaser-v2' } when { branch 'master' } steps { // Clean up first sh 'docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd' sh './publish' // Clean up again... sh 'docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd' deleteDir() } } } post { always { cleanupAndNotify(currentBuild.currentResult) } } }