From 1e524e36ce23b66ca14d219c26e0d78cb1e33803 Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Sun, 21 Feb 2021 21:38:25 +0100 Subject: [PATCH] Upated to sqential execution of versions --- Jenkinsfile | 80 +++++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 48 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3c7d673..f2afcfb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,6 @@ +String[] ImgReleaseList = ['bionic', 'focal'] +String[] ImgVariantList = ['Default-minmal', 'Default-default'] + pipeline { agent { label 'LXCBuilder' } parameters { @@ -21,57 +24,38 @@ pipeline { sh '''mkdir $WORKSPACE/REL''' } } - stage("Image Configs") { - matrix { - axes { - axis { - name 'ImgRelease' - values 'bionic', 'focal' - } - axis { - name 'ImgVariant' - values 'Default-minmal', 'Default-default' - } - } - //Exclude unwanted conbinatinations - excludes { - exclude { - axis { - name 'ImgRelease' - values 'bionic' - } - axis { - name 'ImgVariant' - //use notValues to invert - notValues 'Default-default' - } - } - } - stages { - stage('Build image') { - when { + stage('Image Configs'){ + steps{ + script{ + for(ImgRelease in ImgReleaseList){ + for(ImgVariant in ImgVariantList){ //ImgTypeTest - anyOf { - allOf { - expression { return (env.ImgVariant).startsWith('Default-') } - environment name: 'BuildDefault', value: 'true' - } - allOf { - expression { return (env.ImgVariant).startsWith('Extra-') } - environment name: 'BuildExtra', value: 'true' - } + if (env.BuildDefault == 'true' && (ImgVariant).startsWith('Default-')) { + BuildThis = true + } else if (env.BuildExtra == 'true' && (ImgVariant).startsWith('Extra-')) { + BuildThis = true + } else { + BuildThis = false } - } - steps { - // Build script - catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { - sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant" - ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-} - sudo $WORKSPACE/distrobuilder build-lxc Ubuntu.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 Ubuntu-$ImgRelease-$ImgVariant.tar.xz - ''' + //Exclude unwanted conbinatinations + if (ImgRelease == 'bionic' && ImgVariant != 'Default-default' ){ + BuildThis = false } + //Check if this combinations shoud be build + if (BuildThis == true) { + env.ImgRelease = ImgRelease + env.ImgVariant = ImgVariant + stage('Build image') { + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant" + ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-} + sudo $WORKSPACE/distrobuilder build-lxc Ubuntu.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 Ubuntu-$ImgRelease-$ImgVariant.tar.xz + ''' + } + } + } } } }