pipeline { agent { label 'LXCBuilder' } 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('Build image 3.13,default') { steps { // Build script sh '''sudo $WORKSPACE/distrobuilder build-lxc Alpine.yaml $WORKSPACE/REL/3.13-default/ -o image.release=3.13 -o image.variant=default sudo chown jenkins:jenkins -R $WORKSPACE/REL ''' } } stage('Build image; 3.13,extended') { steps { // Build script sh '''sudo $WORKSPACE/distrobuilder build-lxc Alpine.yaml $WORKSPACE/REL/3.13-extended/ -o image.release=3.13 -o image.variant=extended sudo chown jenkins:jenkins -R $WORKSPACE/REL ''' } } stage('Build image: edge,default') { steps { // Build script sh '''sudo $WORKSPACE/distrobuilder build-lxc Alpine.yaml $WORKSPACE/REL/edge-default/ -o image.release=edge -o image.variant=default sudo chown jenkins:jenkins -R $WORKSPACE/REL ''' } } stage('Finish') { steps { // Save generated files archiveArtifacts artifacts: 'REL/**', followSymlinks: false // Cleaning WorkSpace //cleanWs() } } } }