#!/usr/bin/env groovy /* * job name: mock-pipe-repos */ def CopyRPMS(project) { copyArtifacts([ filter: 'rpms/*/*.rpm', flatten: false, projectName: project, selector: lastSuccessful(), target: "." ]) } def CreateRepos() { sh ''' for dir in rpms/*; do echo "# $(basename $dir)" createrepo $dir done ''' } pipeline { agent { node 'sys-rhel7-x64' } options { buildDiscarder(logRotator(numToKeepStr: '3')) disableConcurrentBuilds() } triggers { upstream(upstreamProjects: 'mock-pipe-libdvdcss,mock-pipe-kraxel.org,mock-pipe-xmrig', threshold: hudson.model.Result.SUCCESS) } stages { stage ('cleanup') { steps { dir('rpms') { deleteDir() } } } stage ('copy rpms') { steps { CopyRPMS('mock-pipe-libdvdcss') CopyRPMS('mock-pipe-kraxel.org') CopyRPMS('mock-pipe-xmrig') } } stage ('create repos') { steps { CreateRepos() archiveArtifacts 'rpms/*/*.rpm,rpms/*/repodata/*' } } } }