diff --git a/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Build.pipeline b/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Build.pipeline index b65ea20..7bb9da2 100644 --- a/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Build.pipeline +++ b/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Build.pipeline @@ -1,65 +1,65 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Kdenlive Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'kdenlive/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/kdenlive']] ] } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'kdenlive-appimage-deps.tar', projectName: 'Kdenlive_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/kdenlive-appimage-deps.tar """ } // Let's build Kdenlive now that we have everything we need stage('Building Kdenlive') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH kdenlive/packaging/appimage/build-kdenlive.sh $HOME/appimage-workspace/ $WORKSPACE/kdenlive/ """ } // Now we can generate the actual Appimages! stage('Generating Kdenlive Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH kdenlive/packaging/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/kdenlive/ mv $HOME/appimage-workspace/*.appimage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.appimage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Dependency_Build.pipeline b/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Dependency_Build.pipeline index 5be5e17..f08f123 100644 --- a/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Dependency_Build.pipeline +++ b/custom-jobs/kdenlive/Kdenlive_Nightly_Appimage_Dependency_Build.pipeline @@ -1,48 +1,48 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Kdenlive Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'kdenlive/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/kdenlive']] ] } // Now we can build the Dependencies for Kdenlive's build stage('Building Dependencies') { // This is relatively straight forward // We use some environment variables to tell the Kdenlive scripts where we want them to put things // Then we invoke them! sh """ export PATH=$HOME/tools/bin/:$PATH kdenlive/packaging/appimage/build-dependencies.sh $HOME/appimage-workspace/ $WORKSPACE/kdenlive/ """ } // Now we capture them for use stage('Capturing Dependencies') { // First we tar all of the dependencies up... sh """ cd $HOME/appimage-workspace/ tar -cf $WORKSPACE/kdenlive-appimage-deps.tar deps/ """ // Then we ask Jenkins to capture the tar file as an artifact archiveArtifacts artifacts: 'kdenlive-appimage-deps.tar', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Build.pipeline b/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Build.pipeline index 7b8d9e1..a4dc0ed 100644 --- a/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Build.pipeline +++ b/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Build.pipeline @@ -1,70 +1,70 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // KMyMoney Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'kmymoney/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/kmymoney']] ] } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'kmymoney-appimage-deps.tar', projectName: 'KMyMoney_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/kmymoney-appimage-deps.tar """ } // Let's build KMyMoney that we have everything we need stage('Building KMyMoney') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH ln -s /usr/bin/gcc-6 $HOME/tools/bin/cc ln -s /usr/bin/gcc-6 $HOME/tools/bin/gcc ln -s /usr/bin/g++-6 $HOME/tools/bin/c++ ln -s /usr/bin/g++-6 $HOME/tools/bin/g++ kmymoney/packaging/linux/appimage/build-kmymoney.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ """ } // Now we can generate the actual Appimages! stage('Generating KMyMoney Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH kmymoney/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ mv $HOME/appimage-workspace/*.AppImage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.AppImage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Dependency_Build.pipeline b/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Dependency_Build.pipeline index 2a4f464..539d7b2 100644 --- a/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Dependency_Build.pipeline +++ b/custom-jobs/kmymoney/KMyMoney_Nightly_Appimage_Dependency_Build.pipeline @@ -1,53 +1,53 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // KMyMoney Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'kmymoney/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/kmymoney']] ] } // Now we can build the Dependencies for KMyMoney's build stage('Building Dependencies') { // This is relatively straight forward // We use some environment variables to tell the KMyMoney scripts where we want them to put things // Then we invoke them! sh """ export PATH=$HOME/tools/bin/:$PATH ln -s /usr/bin/gcc-6 $HOME/tools/bin/cc ln -s /usr/bin/gcc-6 $HOME/tools/bin/gcc ln -s /usr/bin/g++-6 $HOME/tools/bin/c++ ln -s /usr/bin/g++-6 $HOME/tools/bin/g++ kmymoney/packaging/linux/appimage/build-deps.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ """ } // Now we capture them for use stage('Capturing Dependencies') { // First we tar all of the dependencies up... sh """ cd $HOME/appimage-workspace/ tar -cf $WORKSPACE/kmymoney-appimage-deps.tar deps/ """ // Then we ask Jenkins to capture the tar file as an artifact archiveArtifacts artifacts: 'kmymoney-appimage-deps.tar', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/kmymoney/KMyMoney_Release_Appimage_Build.pipeline b/custom-jobs/kmymoney/KMyMoney_Release_Appimage_Build.pipeline index 83b481e..03b2821 100644 --- a/custom-jobs/kmymoney/KMyMoney_Release_Appimage_Build.pipeline +++ b/custom-jobs/kmymoney/KMyMoney_Release_Appimage_Build.pipeline @@ -1,79 +1,79 @@ // Ask for parameters we will need later on def buildParameters = input( message: 'Which version of KMyMoney is being built?', ok: 'Begin Build', parameters: [ choice(choices: "stable\nunstable\n", description: '', name: 'Release'), string(defaultValue: '', description: '', name: 'Version', trim: true) ] ) // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Now we download the release tarball, unpack it and rename the directory to something more convenient to use everywhere else sh """ wget "https://origin.download.kde.org/${buildParameters['Release']}/kmymoney/${buildParameters['Version']}/src/kmymoney-${buildParameters['Version']}.tar.xz" tar -xf "$WORKSPACE/kmymoney-${buildParameters['Version']}.tar.xz" mv kmymoney-${buildParameters['Version']} kmymoney """ } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'kmymoney-appimage-deps.tar', projectName: 'KMyMoney_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/kmymoney-appimage-deps.tar """ } // Let's build KMyMoney that we have everything we need stage('Building KMyMoney') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH ln -s /usr/bin/gcc-6 $HOME/tools/bin/cc ln -s /usr/bin/gcc-6 $HOME/tools/bin/gcc ln -s /usr/bin/g++-6 $HOME/tools/bin/c++ ln -s /usr/bin/g++-6 $HOME/tools/bin/g++ kmymoney/packaging/linux/appimage/build-kmymoney.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ """ } // Now we can generate the actual Appimages! stage('Generating KMyMoney Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH kmymoney/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ mv $HOME/appimage-workspace/*.appimage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.appimage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/kmymoney/KMyMoney_Stable_Appimage_Build.pipeline b/custom-jobs/kmymoney/KMyMoney_Stable_Appimage_Build.pipeline index 3aae61b..1dd3f56 100644 --- a/custom-jobs/kmymoney/KMyMoney_Stable_Appimage_Build.pipeline +++ b/custom-jobs/kmymoney/KMyMoney_Stable_Appimage_Build.pipeline @@ -1,70 +1,70 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1404" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // KMyMoney Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: '5.0']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'kmymoney/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/kmymoney']] ] } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'kmymoney-appimage-deps.tar', projectName: 'KMyMoney_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/kmymoney-appimage-deps.tar """ } // Let's build KMyMoney that we have everything we need stage('Building KMyMoney') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH ln -s /usr/bin/gcc-6 $HOME/tools/bin/cc ln -s /usr/bin/gcc-6 $HOME/tools/bin/gcc ln -s /usr/bin/g++-6 $HOME/tools/bin/c++ ln -s /usr/bin/g++-6 $HOME/tools/bin/g++ kmymoney/packaging/linux/appimage/build-kmymoney.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ """ } // Now we can generate the actual Appimages! stage('Generating KMyMoney Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH kmymoney/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/kmymoney/ mv $HOME/appimage-workspace/*.AppImage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.AppImage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/krita/Krita_Nightly_Appimage_Build.pipeline b/custom-jobs/krita/Krita_Nightly_Appimage_Build.pipeline index ad048f3..8793daa 100644 --- a/custom-jobs/krita/Krita_Nightly_Appimage_Build.pipeline +++ b/custom-jobs/krita/Krita_Nightly_Appimage_Build.pipeline @@ -1,65 +1,65 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1604" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Krita Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'krita/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/krita']] ] } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'krita-appimage-deps.tar, gmic_krita_qt-x86_64.appimage', projectName: 'Krita_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/krita-appimage-deps.tar """ } // Let's build Krita that we have everything we need stage('Building Krita') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-krita.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ """ } // Now we can generate the actual Appimages! stage('Generating Krita Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ mv $HOME/appimage-workspace/*.appimage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.appimage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/krita/Krita_Nightly_Appimage_Dependency_Build.pipeline b/custom-jobs/krita/Krita_Nightly_Appimage_Dependency_Build.pipeline index f3faada..e5e6d89 100644 --- a/custom-jobs/krita/Krita_Nightly_Appimage_Dependency_Build.pipeline +++ b/custom-jobs/krita/Krita_Nightly_Appimage_Dependency_Build.pipeline @@ -1,59 +1,59 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1604" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Krita Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'krita/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/krita']] ] } // Now we can build the Dependencies for Krita's build stage('Building Dependencies') { // This is relatively straight forward // We use some environment variables to tell the Krita scripts where we want them to put things // Then we invoke them! sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-deps.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ """ } // Lets generate the GMic Appimage stage('Generating GMic Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-gmic-qt.sh $HOME/appimage-workspace/ mv $HOME/appimage-workspace/gmic_krita_qt-x86_64.appimage $WORKSPACE/ """ } // Now we capture them for use stage('Capturing Dependencies') { // First we tar all of the dependencies up... sh """ cd $HOME/appimage-workspace/ tar -cf $WORKSPACE/krita-appimage-deps.tar deps/ """ // Then we ask Jenkins to capture the tar file as an artifact archiveArtifacts artifacts: 'krita-appimage-deps.tar, gmic_krita_qt-x86_64.appimage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/krita/Krita_Release_Appimage_Build.pipeline b/custom-jobs/krita/Krita_Release_Appimage_Build.pipeline index 34e588f..7b441e9 100644 --- a/custom-jobs/krita/Krita_Release_Appimage_Build.pipeline +++ b/custom-jobs/krita/Krita_Release_Appimage_Build.pipeline @@ -1,74 +1,74 @@ // Ask for parameters we will need later on def buildParameters = input( message: 'Which version of Krita is being built?', ok: 'Begin Build', parameters: [ choice(choices: "stable\nunstable\n", description: '', name: 'Release'), string(defaultValue: '', description: '', name: 'Version', trim: true) ] ) // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1604" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Now we download the release tarball, unpack it and rename the directory to something more convenient to use everywhere else sh """ wget "https://origin.download.kde.org/${buildParameters['Release']}/krita/${buildParameters['Version']}/krita-${buildParameters['Version']}.tar.gz" tar -xf "$WORKSPACE/krita-${buildParameters['Version']}.tar.gz" mv krita-${buildParameters['Version']} krita """ } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'krita-appimage-deps.tar, gmic_krita_qt-x86_64.appimage', projectName: 'Krita_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/krita-appimage-deps.tar """ } // Let's build Krita that we have everything we need stage('Building Krita') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-krita.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ """ } // Now we can generate the actual Appimages! stage('Generating Krita Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ mv $HOME/appimage-workspace/*.appimage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.appimage', onlyIfSuccessful: true } } } } diff --git a/custom-jobs/krita/Krita_Stable_Appimage_Build.pipeline b/custom-jobs/krita/Krita_Stable_Appimage_Build.pipeline index 8077645..a855f66 100644 --- a/custom-jobs/krita/Krita_Stable_Appimage_Build.pipeline +++ b/custom-jobs/krita/Krita_Stable_Appimage_Build.pipeline @@ -1,65 +1,65 @@ // Request a node to be allocated to us -node( "Appimage" ) { +node( "Appimage1604" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Krita Code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'krita/4.1']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'krita/']], userRemoteConfigs: [[url: 'https://anongit.kde.org/krita']] ] } // Now retrieve the artifacts stage('Retrieving Dependencies') { // First we grab the artifacted dependencies built last time round copyArtifacts filter: 'krita-appimage-deps.tar, gmic_krita_qt-x86_64.appimage', projectName: 'Krita_Nightly_Appimage_Dependency_Build' // Now we unpack them sh """ mkdir -p $HOME/appimage-workspace/ cd $HOME/appimage-workspace/ tar -xf $WORKSPACE/krita-appimage-deps.tar """ } // Let's build Krita that we have everything we need stage('Building Krita') { // The first parameter to the script is where the scripts should work - which is our workspace in this case // Otherwise we leave everything in the hands of that script sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-krita.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ """ } // Now we can generate the actual Appimages! stage('Generating Krita Appimage') { // The scripts handle everything here, so just run them sh """ export PATH=$HOME/tools/bin/:$PATH krita/packaging/linux/appimage/build-image.sh $HOME/appimage-workspace/ $WORKSPACE/krita/ mv $HOME/appimage-workspace/*.appimage $WORKSPACE/ """ } // Finally we capture the appimages for distribution to users stage('Capturing Appimages') { // We use Jenkins artifacts for this to save having to setup additional infrastructure archiveArtifacts artifacts: '*.appimage', onlyIfSuccessful: true } } } }