Files
Centos/Jenkinsfile
Bram Prieshof 9a8b7feda5
Some checks failed
LXC-ImageBuilder/Centos/pipeline/head This commit has test failures
Returning unstable if stage fails
2021-02-21 22:31:51 +01:00

73 lines
3.4 KiB
Groovy

String[] ImgReleaseList = ['8', '8-Steam']
String[] ImgVariantList = ['Default-minmal', 'Default-default']
pipeline {
agent { label 'LXCBuilder' }
parameters {
booleanParam defaultValue: true, description: 'Builds Default images', name: 'BuildDefault'
booleanParam defaultValue: false, description: 'Builds Extra images', name: 'BuildExtra'
}
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: 'bin/distrobuilder', fingerprintArtifacts: true, flatten: true, projectName: '/Public/DistroBuilder/BuildConfig=BrampCustom', selector: lastSuccessful()
// Setup Env
sh '''mkdir $WORKSPACE/REL'''
}
}
stage('Image Configs'){
steps{
script{
for(ImgRelease in ImgReleaseList){
for(ImgVariant in ImgVariantList){
//ImgTypeTest
if (env.BuildDefault == 'true' && (ImgVariant).startsWith('Default-')) {
BuildThis = true
} else if (env.BuildExtra == 'true' && (ImgVariant).startsWith('Extra-')) {
BuildThis = true
} else {
BuildThis = false
}
//Exclude unwanted conbinatinations
if (ImgRelease == 'edge' && ImgVariant == 'Extra-extended' ){
BuildThis = false
}
//Check if this combinations shoud be build
if (BuildThis == true) {
env.ImgRelease = ImgRelease
env.ImgVariant = ImgVariant
stage('Build image') {
catchError(buildResult: 'UNSTABLE', stageResult: 'FAILURE') {
sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant"
ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-}
sudo $WORKSPACE/distrobuilder build-lxc Centos.yaml $WORKSPACE/REL/$ImgRelease-$ImgVariant/ -o image.release=$ImgRelease -o image.variant=$ImgVariantName
sudo chown jenkins:jenkins -R $WORKSPACE/REL
mv $WORKSPACE/REL/$ImgRelease-$ImgVariant/rootfs.tar.xz Centos-$ImgRelease-$ImgVariant.tar.xz
'''
}
}
}
}
}
}
}
}
stage('Finish') {
steps {
// Save generated files
archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false
// Cleaning WorkSpace
//cleanWs()
}
}
}
}