Update 'Jenkinsfile'
All checks were successful
LXC-ImageBuilder/OpenSuse/pipeline/head This commit looks good

This commit is contained in:
2021-02-21 16:01:07 +00:00
parent 198d576802
commit 6b1ba4e63c

177
Jenkinsfile vendored
View File

@@ -1,90 +1,89 @@
pipeline { pipeline {
agent { label 'LXCBuilder' } agent { label 'LXCBuilder' }
parameters { parameters {
booleanParam defaultValue: true, description: 'Builds Default images', name: 'BuildDefault' booleanParam defaultValue: true, description: 'Builds Default images', name: 'BuildDefault'
booleanParam defaultValue: false, description: 'Builds Extra images', name: 'BuildExtra' booleanParam defaultValue: false, description: 'Builds Extra images', name: 'BuildExtra'
} }
options { options {
skipDefaultCheckout() skipDefaultCheckout()
buildDiscarder(logRotator(numToKeepStr: '2', artifactNumToKeepStr: '1')) buildDiscarder(logRotator(numToKeepStr: '2', artifactNumToKeepStr: '1'))
} }
stages { stages {
stage('Prepare') { stage('Prepare') {
steps { steps {
// Cleanup before starting // Cleanup before starting
cleanWs() cleanWs()
// Checkout the repository // Checkout the repository
checkout scm checkout scm
// Get distrobuilder // Get distrobuilder
copyArtifacts filter: 'bin/distrobuilder', fingerprintArtifacts: true, flatten: true, projectName: '/Public/DistroBuilder/BuildConfig=BrampCustom', selector: lastSuccessful() copyArtifacts filter: 'bin/distrobuilder', fingerprintArtifacts: true, flatten: true, projectName: '/Public/DistroBuilder/BuildConfig=BrampCustom', selector: lastSuccessful()
// Setup Env // Setup Env
sh '''mkdir $WORKSPACE/REL''' sh '''mkdir $WORKSPACE/REL'''
} }
} }
stage("Image Configs") { stage("Image Configs") {
matrix { matrix {
axes { axes {
axis { axis {
name 'ImgRelease' name 'ImgRelease'
values '15.2', 'tumbleweed' values '15.2', 'tumbleweed'
} }
axis { axis {
name 'ImgVariant' name 'ImgVariant'
values 'Default-minmal', 'Default-default' values 'Default-minmal', 'Default-default'
} }
} }
//Exclude unwanted conbinatinations //Exclude unwanted conbinatinations
// excludes { excludes {
// exclude { exclude {
// axis { axis {
// name 'ImgRelease' name 'ImgRelease'
// values 'edge' values 'tumbleweed'
// } }
// axis { axis {
// name 'ImgVariant' name 'ImgVariant'
// //use notValues to invert notValues 'Default-default'
// values 'Extra-extended' }
// } }
// } }
// } stages {
stages { stage('Build image') {
stage('Build image') { when {
when { //ImgTypeTest
//ImgTypeTest anyOf {
anyOf { allOf {
allOf { expression { return (env.ImgVariant).startsWith('Default-') }
expression { return (env.ImgVariant).startsWith('Default-') } environment name: 'BuildDefault', value: 'true'
environment name: 'BuildDefault', value: 'true' }
} allOf {
allOf { expression { return (env.ImgVariant).startsWith('Extra-') }
expression { return (env.ImgVariant).startsWith('Extra-') } environment name: 'BuildExtra', value: 'true'
environment name: 'BuildExtra', value: 'true' }
} }
} }
} steps {
steps { // Build script
// Build script catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant"
sh '''echo "$(date) Do Build for $ImgRelease - $ImgVariant" if [ $ImgRelease = "tumbleweed" ] ; then YamlVer=Tumbleweed ; else YamlVer=Leap ; fi
if [ $ImgRelease = "tumbleweed" ] ; then YamlVer=Tumbleweed ; else YamlVer=Leap ; fi ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-}
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 $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
sudo chown jenkins:jenkins -R $WORKSPACE/REL mv $WORKSPACE/REL/$ImgRelease-$ImgVariant/rootfs.tar.xz OpenSuse-$ImgRelease-$ImgVariant.tar.xz
mv $WORKSPACE/REL/$ImgRelease-$ImgVariant/rootfs.tar.xz OpenSuse-$ImgRelease-$ImgVariant.tar.xz '''
''' }
} }
} }
} }
} }
} }
} stage('Finish') {
stage('Finish') { steps {
steps { // Save generated files
// Save generated files archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false
archiveArtifacts artifacts: '*.tar.xz', followSymlinks: false // Cleaning WorkSpace
// Cleaning WorkSpace //cleanWs()
//cleanWs() }
} }
} }
}
} }