#!groovy /** * Jenkins pipeline to build Corda Opensource Preview. */ @Library('corda-shared-build-pipeline-steps') import static com.r3.build.BuildControl.killAllExistingBuildsForJob killAllExistingBuildsForJob(env.JOB_NAME, env.BUILD_NUMBER.toInteger()) pipeline { agent { label 'standard' } options { timestamps() ansiColor('xterm') overrideIndexTriggers(false) timeout(time: 3, unit: 'HOURS') buildDiscarder(logRotator(daysToKeepStr: '14', artifactDaysToKeepStr: '14')) } environment { // Replace / with :: as links from Jenkins to Artifactory are broken if we use slashes // in the name ARTIFACTORY_BUILD_NAME = "Corda / Publish / Publish Preview to Artifactory" .replaceAll("/", " :: ") } stages { stage('Publish to Artifactory') { steps { authenticateGradleWrapper() rtServer ( id: 'R3-Artifactory', url: 'https://software.r3.com/artifactory', credentialsId: 'artifactory-credentials' ) rtGradleDeployer ( id: 'deployer', serverId: 'R3-Artifactory', repo: 'corda-dev', ) withCredentials([ usernamePassword(credentialsId: 'artifactory-credentials', usernameVariable: 'CORDA_ARTIFACTORY_USERNAME', passwordVariable: 'CORDA_ARTIFACTORY_PASSWORD')]) { rtGradleRun ( usesPlugin: true, useWrapper: true, switches: "--no-daemon -s -PversionFromGit", tasks: 'artifactoryPublish', deployerId: 'deployer', buildName: env.ARTIFACTORY_BUILD_NAME ) } rtPublishBuildInfo ( serverId: 'R3-Artifactory', buildName: env.ARTIFACTORY_BUILD_NAME ) } } } post { cleanup { deleteDir() /* clean up our workspace */ } } }