50 lines
1.9 KiB
Plaintext
50 lines
1.9 KiB
Plaintext
String[] ImgVariantList = ['minmal', 'default', 'jenkinsbuilder' 'imgbuilder', 'jenkins' ]
|
|
|
|
pipeline {
|
|
agent { label 'LXCBuilder' }
|
|
options {
|
|
skipDefaultCheckout()
|
|
buildDiscarder(logRotator(numToKeepStr: '2', artifactNumToKeepStr: '1'))
|
|
}
|
|
stages {
|
|
stage('Prepare') {
|
|
steps {
|
|
// Cleanup before starting
|
|
cleanWs()
|
|
// Checkout the repository
|
|
checkout scm
|
|
// Get distrobuilder
|
|
copyArtifacts filter: 'distrobuilder-BrampCustom', fingerprintArtifacts: true, flatten: true, projectName: 'LXC-ImgBuilder/job/DistroBuilder', selector: lastSuccessful()
|
|
// Setup Env
|
|
sh '''mkdir $WORKSPACE/REL
|
|
mv distrobuilder-* distrobuilder
|
|
'''
|
|
}
|
|
}
|
|
stage('Image Configs'){
|
|
steps{
|
|
script{
|
|
|
|
env.ImgVariant = ImgVariant
|
|
stage('Build image') {
|
|
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
|
|
sh '''echo "$(date) Do Build for $ImgVariant"
|
|
|
|
sudo $WORKSPACE/distrobuilder build-lxc Debian.yaml $WORKSPACE/REL/$ImgVariant/ -o image.variant=$ImgVariantName
|
|
sudo chown jenkins:jenkins -R $WORKSPACE/REL
|
|
mv $WORKSPACE/REL/$ImgVariant/rootfs.tar.xz Debian-$ImgVariant.tar.xz
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Finish') {
|
|
steps {
|
|
// Save generated files
|
|
archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false
|
|
// Cleaning WorkSpace
|
|
//cleanWs()
|
|
}
|
|
}
|
|
} |