Upated to sqential execution of versions
All checks were successful
LXC-ImageBuilder/Alpine/pipeline/head This commit looks good
All checks were successful
LXC-ImageBuilder/Alpine/pipeline/head This commit looks good
This commit is contained in:
82
Jenkinsfile
vendored
82
Jenkinsfile
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
String[] ImgReleaseList = ['3.13', 'edge']
|
||||||
|
String[] ImgVariantList = ['Default-minmal', 'Default-default']
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent { label 'LXCBuilder' }
|
agent { label 'LXCBuilder' }
|
||||||
parameters {
|
parameters {
|
||||||
@@ -21,57 +24,38 @@ pipeline {
|
|||||||
sh '''mkdir $WORKSPACE/REL'''
|
sh '''mkdir $WORKSPACE/REL'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage("Image Configs") {
|
stage('Image Configs'){
|
||||||
matrix {
|
steps{
|
||||||
axes {
|
script{
|
||||||
axis {
|
for(ImgRelease in ImgReleaseList){
|
||||||
name 'ImgRelease'
|
for(ImgVariant in ImgVariantList){
|
||||||
values '3.13', 'edge'
|
|
||||||
}
|
|
||||||
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
|
//ImgTypeTest
|
||||||
anyOf {
|
if (env.BuildDefault == 'true' && (ImgVariant).startsWith('Default-')) {
|
||||||
allOf {
|
BuildThis = true
|
||||||
expression { return (env.ImgVariant).startsWith('Default-') }
|
} else if (env.BuildExtra == 'true' && (ImgVariant).startsWith('Extra-')) {
|
||||||
environment name: 'BuildDefault', value: 'true'
|
BuildThis = true
|
||||||
}
|
} else {
|
||||||
allOf {
|
BuildThis = false
|
||||||
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"
|
|
||||||
ImgVariantName=${ImgVariant#Default-} && ImgVariantName=${ImgVariantName#Extra-}
|
|
||||||
sudo $WORKSPACE/distrobuilder build-lxc Alpine.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 Alpine-$ImgRelease-$ImgVariant.tar.xz
|
|
||||||
'''
|
|
||||||
}
|
}
|
||||||
|
//Exclude unwanted conbinatinations
|
||||||
|
// if (ImgRelease == 'buster' && 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 Alpine.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 Alpine-$ImgRelease-$ImgVariant.tar.xz
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user