pipeline {
agent {
node {
label 'FreeNAS-webui'
}
}
stages {
stage('Checkout') {
steps {
dir('src') {
checkout scm
}
sh 'git clone http://github.com/truenas/repo-mgmt mgmt || ( cd mgmt ; git pull )'
}
}
stage('Cleanup') {
steps {
sh 'cd src && rm -rf * && git reset --hard HEAD'
}
}
stage('Build') {
steps {
sh 'env DEB_SIGN_KEYID=92B8B783F95A684C0A3B643073CF445610D143A1 ./mgmt/scripts/debuilder --path src/debian -D bullseye-truenas-experimental -vvv'
sh 'env DEB_SIGN_KEYID=92B8B783F95A684C0A3B643073CF445610D143A1 ./mgmt/scripts/debuilder --path src/src/middlewared -D bullseye-truenas-experimental -vvv'
sh 'env DEB_SIGN_KEYID=92B8B783F95A684C0A3B643073CF445610D143A1 ./mgmt/scripts/debuilder --path src/src/freenas -D bullseye-truenas-experimental -vvv'
}
}
stage('Push to buildd') {
steps {
withCredentials([file(credentialsId: 'dput.cf', variable: 'dputcfg')]) {
sh "dput -c \"${dputcfg}\" mini-buildd-mini-buildd-host src/truenas*.changes"
sh "dput -c \"${dputcfg}\" mini-buildd-mini-buildd-host src/src/middlewared*.changes"
sh "dput -c \"${dputcfg}\" mini-buildd-mini-buildd-host src/src/truenas-files*.changes"
}
}
}
}
post {
failure {
mail bcc: '', body: "Jenkins: Middleware Build Failure
Project: ${env.JOB_NAME}
Build Number: ${env.BUILD_NUMBER}
URL build: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "ERROR CI: Project name -> ${env.JOB_NAME}", to: "william@ixsystems.com";
}
}
}