def confrepo = 'http://gogs.srt/BaseALT/autojen.git' folder('samba') { displayName('Samba Team') description('Jobs for Samba AD DC testing and deployment') views { listView('Testing') { description('Samba AD DC tests') filterBuildQueue() filterExecutors() columns { status() name() buildButton() } jobs { name('jenkins-krb5-sisyphus-1x1') name('jenkins-samba-1x3') name('jenkins-samba-2x2') name('jenkins-samba-3x3') name('jenkins-samba-8sp-1x3-pub') name('jenkins-samba-8sp-3x3-pub') name('jenkins-samba-9-3x3-pub') name('jenkins-samba-sisyphus-1x3') name('jenkins-samba-sisyphus-1x3-pub') name('jenkins-samba-sisyphus-3x3') name('jenkins-samba-sisyphus-3x3-pub') } } } } def mirrorsDest = '/data/mirrors/alt' def mirrorsSrc = 'mirror.yandex.ru' def platforms = [ 'c8' ] def elbrusPlatforms = [ 'c8', 'p8', 'p9', 'sisyphus' ] folder('infra') { displayName('Infrastructure') description('Run Jenkins Job DSL to reconfigure master') views { listView('File synchronization') { description('File synchronization') filterBuildQueue() filterExecutors() columns { status() name() buildButton() } jobs { name('sync-c8') } } } } /* * Generate jobs to syncrinize various repos. The process looks like * this: * 1) Checkout this repo; * 2) Run synchronization script with paths set via environment * variables; * 3) Cleanup workspace; */ platforms.each { platform -> job("infra/sync-${platform}") { displayName("Synchronize ALT Linux repos for ${platform}") description('Runs synchronization script on PVE') // The job must be run on pve node label('pve') parameters { stringParam('MIRRORS_DEST', mirrorsDest, 'Directory to save repository to') stringParam('MIRRORS_SRC', mirrorsSrc, 'Host to download files from') stringParam('PLATFORM', platform, 'ALT Linux branch to download') } scm { git { remote { name('origin') url(confrepo) } branch('master') extensions { cleanAfterCheckout() } } } steps { shell('/usr/bin/env MIRRORS_DEST=${MIRRORS_DEST} MIRRORS_SRC=${MIRRORS_SRC} PLATFORM=${PLATFORM} /bin/sh ./scripts/sync_alt_repo') } } }