#!groovy pipeline { agent none environment { git_commit_message = '' git_commit_diff = '' git_commit_author = '' git_commit_author_name = '' git_commit_author_email = '' ANDROID_HOME = '/opt/android-sdk/' } stages { // --- BUILD --- stage('Build') { agent { label 'vncportal' } steps { parallel( 'frontend': { node('vncportal') { deleteDir() checkout scm sh 'yarn cache clean' sh 'yarn install' sh "tar cfz frontend.tgz node_modules" stash includes: 'frontend.tgz', name: 'frontend' deleteDir() } }, ) } } stage('Packaging') { agent { label 'master' } steps { sh "echo 'Packaging'" deleteDir() checkout scm sh "git fetch --tags" sh "makechangelog.uxf > debian/changelog" sh "cat debian/changelog" sh "mkdir src" sh "sed -n 1p debian/changelog | grep -oP '\\((.*?)\\)' > src/version.txt" sh "echo '####################################################'" sh "cat src/version.txt" sh "echo '####################################################'" sh 'rm config/prosody-muc-rest.js' sh 'cp -P conf.template/prosody-muc-rest.js config/prosody-muc-rest.js' // yarn fails on node4 with kurento stuff unstash 'frontend' sh 'tar xfz frontend.tgz' lock('debianbuild') { sh "cd debian; debuild --check-dirname-level 0 --no-tgz-check --no-lintian -kjenkins@vnc.biz -p'gpg --no-tty --passphrase q3tx65wurstbrot'; cd .." } sh "mkdir -p ../pkgarchive/" sh "scp ../*.deb repo@factorypackages.rz.vnc.biz:/srv/repo/apt/incoming/" sh "ssh repo@factorypackages.rz.vnc.biz /srv/repo/bin/import-new-packages.sh" // Import to GCP deb repository sh "scp ../*.deb repo@34.89.202.54:/srv/repo/apt/incoming/" sh "ssh repo@34.89.202.54 /srv/repo/bin/import-new-packages.sh" sh "mv ../*.deb ../pkgarchive/" sh "rm ../*.dsc" sh "rm ../*amd64.build" sh "rm ../*amd64.changes" } } } post { always { emailext ( to: 'stefan.saenger@vnc.biz', subject: "${env.JOB_NAME} #${env.BUILD_NUMBER}", body: "Build URL: ${env.BUILD_URL}.", attachLog: false, ) } } }