#!/usr/bin/env groovy //def base = "hagrid.kraxel.org:/public/vhosts/www.kraxel.org/repos" def base = "/var/www/html" def dest = "repos/jenkins" def rate = "999999" def CopyFirmware(project) { copyArtifacts([ filter: 'rpms/*/*.rpm', flatten: true, projectName: project, selector: lastSuccessful(), target: "rpms/$project" ]) } pipeline { agent { node 'master' } options { buildDiscarder(logRotator(numToKeepStr: '3')) disableConcurrentBuilds() } triggers { upstream(upstreamProjects: 'seabios,u-boot,edk2,ipxe,qboot', threshold: hudson.model.Result.SUCCESS) } stages { stage ('cleanup') { steps { dir('rpms') { deleteDir() } } } stage ('copy firmware') { steps { CopyFirmware('edk2') CopyFirmware('ipxe') CopyFirmware('seabios') CopyFirmware('u-boot') CopyFirmware('qboot') } } stage ('create repo') { steps { sh 'createrepo rpms' sh 'find rpms -print' archiveArtifacts 'rpms/*/*' } } stage ('rsync repo') { steps { sh "scripts/rsync-rpm-repo.sh rpms/ $base/$dest/ $rate" } } } }