From 6b1ba4e63cf78db58745379be2085e6357ee8d8c Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Sun, 21 Feb 2021 16:01:07 +0000 Subject: [PATCH] Update 'Jenkinsfile' --- Jenkinsfile | 177 ++++++++++++++++++++++++++-------------------------- 1 file changed, 88 insertions(+), 89 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6a8d322..af30272 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,90 +1,89 @@ -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") { - matrix { - axes { - axis { - name 'ImgRelease' - values '15.2', 'tumbleweed' - } - axis { - name 'ImgVariant' - values 'Default-minmal', 'Default-default' - } - } - //Exclude unwanted conbinatinations - // excludes { - // exclude { - // axis { - // name 'ImgRelease' - // values 'edge' - // } - // axis { - // name 'ImgVariant' - // //use notValues to invert - // values 'Extra-extended' - // } - // } - // } - stages { - stage('Build image') { - when { - //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' - } - } - } - steps { - // Build script - catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { - sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant" - if [ $ImgRelease = "tumbleweed" ] ; then YamlVer=Tumbleweed ; else YamlVer=Leap ; fi - ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-} - sudo $WORKSPACE/distrobuilder build-lxc OpenSuse-"$YamlVer".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 OpenSuse-$ImgRelease-$ImgVariant.tar.xz - ''' - } - } - } - } - } - } - stage('Finish') { - steps { - // Save generated files - archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false - // Cleaning WorkSpace - //cleanWs() - } - } - } +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") { + matrix { + axes { + axis { + name 'ImgRelease' + values '15.2', 'tumbleweed' + } + axis { + name 'ImgVariant' + values 'Default-minmal', 'Default-default' + } + } + //Exclude unwanted conbinatinations + excludes { + exclude { + axis { + name 'ImgRelease' + values 'tumbleweed' + } + axis { + name 'ImgVariant' + notValues 'Default-default' + } + } + } + stages { + stage('Build image') { + when { + //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' + } + } + } + steps { + // Build script + catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { + sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant" + if [ $ImgRelease = "tumbleweed" ] ; then YamlVer=Tumbleweed ; else YamlVer=Leap ; fi + ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-} + sudo $WORKSPACE/distrobuilder build-lxc OpenSuse-"$YamlVer".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 OpenSuse-$ImgRelease-$ImgVariant.tar.xz + ''' + } + } + } + } + } + } + stage('Finish') { + steps { + // Save generated files + archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false + // Cleaning WorkSpace + //cleanWs() + } + } + } } \ No newline at end of file