diff --git a/scripts/jenkins/gcc.groovy b/scripts/jenkins/gcc.groovy
index 4842eac3bc80a11038d32156809f8a7516c2c665..7848dd2b7030270ac12aee95f4778fec19c75e47 100644
--- a/scripts/jenkins/gcc.groovy
+++ b/scripts/jenkins/gcc.groovy
@@ -9,31 +9,33 @@ node('docker') {
         '-DOGS_LIB_BOOST=System ' +
         '-DOGS_LIB_VTK=System'
 
-    dir('ogs') { unstash 'source' }
-
-    docker.image('ogs6/gcc-gui:latest').inside(defaultDockerArgs) {
-        stage 'Configure (Linux-Docker)'
-        configure.linux 'build', "${defaultCMakeOptions}"
-
-        stage 'CLI (Linux-Docker)'
-        build.linux 'build'
-
-        stage 'Test (Linux-Docker)'
-        build.linux 'build', 'tests ctest'
-
-        stage 'Data Explorer (Linux-Docker)'
-        configure.linux 'build', "${defaultCMakeOptions} " +
-            '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
-            'Unix Makefiles', null, true
-        build.linux 'build'
+    ws {
+        dir('ogs') { unstash 'source' }
+
+        docker.image('ogs6/gcc-gui:latest').inside(defaultDockerArgs) {
+            stage 'Configure (Linux-Docker)'
+            configure.linux 'build', "${defaultCMakeOptions}"
+
+            stage 'CLI (Linux-Docker)'
+            build.linux 'build'
+
+            stage 'Test (Linux-Docker)'
+            build.linux 'build', 'tests ctest'
+
+            stage 'Data Explorer (Linux-Docker)'
+            configure.linux 'build', "${defaultCMakeOptions} " +
+                '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
+                'Unix Makefiles', null, true
+            build.linux 'build'
+        }
+
+        if (helper.isRelease()) {
+            stage 'Release (Linux-Docker)'
+            archive 'build/*.tar.gz'
+        }
+
+        stage 'Post (Linux-Docker)'
+        post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
+            'ogs/scripts/jenkins/clang-log-parser.rules'
     }
-
-    if (helper.isRelease()) {
-        stage 'Release (Linux-Docker)'
-        archive 'build/*.tar.gz'
-    }
-
-    stage 'Post (Linux-Docker)'
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/clang-log-parser.rules'
 }
diff --git a/scripts/jenkins/mac.groovy b/scripts/jenkins/mac.groovy
index 46d22d917c77c8bb9c310b4b5e3685340351875c..c54cf35e1ac393392e5f878562156c1b7810304f 100644
--- a/scripts/jenkins/mac.groovy
+++ b/scripts/jenkins/mac.groovy
@@ -11,29 +11,31 @@ node('mac && conan') {
         '-DOGS_LIB_VTK=System ' +
         '-DOGS_DOWNLOAD_ADDITIONAL_CONTENT=ON'
 
-    dir('ogs') { unstash 'source' }
+    ws {
+        dir('ogs') { unstash 'source' }
 
-    stage 'Configure (Mac)'
-    configure.linux 'build', "${defaultCMakeOptions}", 'Ninja', ''
+        stage 'Configure (Mac)'
+        configure.linux 'build', "${defaultCMakeOptions}", 'Ninja', ''
 
-    stage 'CLI (Mac)'
-    build.linux 'build', null, 'ninja'
+        stage 'CLI (Mac)'
+        build.linux 'build', null, 'ninja'
 
-    stage 'Test (Mac)'
-    build.linux 'build', 'tests ctest', 'ninja'
+        stage 'Test (Mac)'
+        build.linux 'build', 'tests ctest', 'ninja'
 
-    stage 'Data Explorer (Mac)'
-    configure.linux 'build', "${defaultCMakeOptions} " +
-        '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
-        'Ninja', '', true
-    build.linux 'build', null, 'ninja'
+        stage 'Data Explorer (Mac)'
+        configure.linux 'build', "${defaultCMakeOptions} " +
+            '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
+            'Ninja', '', true
+        build.linux 'build', null, 'ninja'
 
-    if (helper.isRelease()) {
-        stage 'Release (Mac)'
-        archive 'build/*.tar.gz,build/*.dmg'
-    }
+        if (helper.isRelease()) {
+            stage 'Release (Mac)'
+            archive 'build/*.tar.gz,build/*.dmg'
+        }
 
-    stage 'Post (Mac)'
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/msvc-log-parser.rules'
+        stage 'Post (Mac)'
+        post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
+            'ogs/scripts/jenkins/msvc-log-parser.rules'
+    }
 }
diff --git a/scripts/jenkins/msvc.groovy b/scripts/jenkins/msvc.groovy
index 10eaafaf8beffe10982fa587731459ee3cf39ca9..46aafec27bf1b6f7ca7e4379f89589ac94a1bfa8 100644
--- a/scripts/jenkins/msvc.groovy
+++ b/scripts/jenkins/msvc.groovy
@@ -16,34 +16,36 @@ node('win && conan') {
         '-DOGS_BUILD_TESTS=OFF ' +
         '-DOGS_BUILD_SWMM=ON'
 
-    dir('ogs') { unstash 'source' }
-
-    withEnv(helper.getEnv()) {
-        stage 'Configure (Win)'
-        configure.win 'build', "${defaultCMakeOptions}", 'Ninja',
-            '-u -s build_type=Release -s compiler="Visual Studio" -s compiler.version=12 -s ' +
-                'arch=x86_64'
-
-        stage 'CLI (Win)'
-        build.win 'build'
-
-        stage 'Test (Win)'
-        build.win 'build', 'tests'
-
-        stage 'Data Explorer (Win)'
-        configure.win 'build', "${defaultCMakeOptions} ${guiCMakeOptions}",
-            'Ninja', '-u -s build_type=Release -s compiler="Visual Studio" -s compiler.version=12' +
-            ' -s arch=x86_64',
-            true
-        build.win 'build'
+    ws {
+        dir('ogs') { unstash 'source' }
+
+        withEnv(helper.getEnv()) {
+            stage 'Configure (Win)'
+            configure.win 'build', "${defaultCMakeOptions}", 'Ninja',
+                '-u -s build_type=Release -s compiler="Visual Studio" -s compiler.version=12 -s ' +
+                    'arch=x86_64'
+
+            stage 'CLI (Win)'
+            build.win 'build'
+
+            stage 'Test (Win)'
+            build.win 'build', 'tests'
+
+            stage 'Data Explorer (Win)'
+            configure.win 'build', "${defaultCMakeOptions} ${guiCMakeOptions}", 'Ninja',
+                '-u -s build_type=Release -s compiler="Visual Studio" -s compiler.version=12' +
+                ' -s arch=x86_64',
+                true
+            build.win 'build'
+        }
+
+        if (helper.isRelease()) {
+            stage 'Release (Win)'
+            archive 'build/*.zip'
+        }
+
+        stage 'Post (Win)'
+        post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
+            'ogs/scripts/jenkins/msvc-log-parser.rules'
     }
-
-    if (helper.isRelease()) {
-        stage 'Release (Win)'
-        archive 'build/*.zip'
-    }
-
-    stage 'Post (Win)'
-    post.publishTestReports 'build/Testing/**/*.xml', 'build/Tests/testrunner.xml',
-        'ogs/scripts/jenkins/msvc-log-parser.rules'
 }
diff --git a/scripts/jenkins/msvc32.groovy b/scripts/jenkins/msvc32.groovy
index 0546ea30f41b74960f4ba7dc04cd4475d03bf4ef..f2591db8fa8d30534eb2741c42b9900228364786 100644
--- a/scripts/jenkins/msvc32.groovy
+++ b/scripts/jenkins/msvc32.groovy
@@ -9,15 +9,17 @@ node('win && conan') {
         '-DOGS_LIB_VTK=System ' +
         '-DOGS_DOWNLOAD_ADDITIONAL_CONTENT=ON'
 
-    dir('ogs') { unstash 'source' }
+    ws {
+        dir('ogs') { unstash 'source' }
 
-    stage 'Data Explorer 32-bit (Win)'
-    withEnv(helper.getEnv('x32')) {
-        configure.win 'build-32', "${defaultCMakeOptions} " +
-            '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
-            'Ninja', '-u -s build_type=Release -s compiler="Visual ' +
-            'Studio" -s compiler.version=12 -s arch=x86'
-        build.win 'build-32'
+        stage 'Data Explorer 32-bit (Win)'
+        withEnv(helper.getEnv('x32')) {
+            configure.win 'build-32', "${defaultCMakeOptions} " +
+                '-DOGS_BUILD_GUI=ON -DOGS_BUILD_UTILS=ON -DOGS_BUILD_TESTS=OFF',
+                'Ninja', '-u -s build_type=Release -s compiler="Visual ' +
+                'Studio" -s compiler.version=12 -s arch=x86'
+            build.win 'build-32'
+        }
+        archive 'build-32/*.zip'
     }
-    archive 'build-32/*.zip'
 }