diff --git a/Jenkinsfile b/Jenkinsfile
index 0b9b66973a457df3d080f37563b4e0f573ce1fb9..30f9f4e4d3216a1e7e0a66a75555187eee5b3a7d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -19,6 +19,7 @@ pipeline {
     booleanParam(name: 'envinf1_parallel', defaultValue: true)
     booleanParam(name: 'win', defaultValue: true)
     booleanParam(name: 'mac', defaultValue: true)
+    booleanParam(name: 'clang_analyzer', defaultValue: true)
   }
   stages {
      // *************************** Git Check **********************************
@@ -414,6 +415,42 @@ pipeline {
             }
           }
         }
+        // ************************* Clang-Analyzer *********************************
+        stage('Clang-Analyzer') {
+          when {
+            beforeAgent true
+            expression { return params.clang_analyzer && (stage_required.build || stage_required.full) }
+          }
+          agent {
+            dockerfile {
+              filename 'Dockerfile.clang.full'
+              dir 'scripts/docker'
+              label 'docker'
+              args '-v /home/jenkins/cache/ccache:/opt/ccache -v /home/jenkins/cache/conan/.conan:/opt/conan/.conan'
+              additionalBuildArgs '--pull'
+            }
+          }
+          steps {
+            script {
+              sh 'git submodule sync'
+              sh 'find $CONAN_USER_HOME -name "system_reqs.txt" -exec rm {} \\;'
+              configure {
+                cmakeOptions =
+                  '-DBUILD_TESTING=OFF'
+                  '-DCMAKE_CXX_CLANG_TIDY=clang-tidy-5.0 '
+              }
+              build { log = 'build.log' }
+            }
+          }
+          post {
+            always {
+              recordIssues enabledForFailure: true, filters: [
+                excludeFile('.*\\.conan.*')],
+                tools: [clangTidy(name: 'Clang-Tidy', pattern: 'build/build.log')],
+                qualityGates: [[threshold: 59, type: 'TOTAL', unstable: true]]
+            }
+          }
+        }
       } // end parallel
     } // end stage Build
     stage('Master') {
@@ -483,7 +520,7 @@ pipeline {
               filename 'Dockerfile.clang.full'
               dir 'scripts/docker'
               label 'docker'
-              args '-v /home/jenkins/cache:/home/jenkins/cache -v /home/jenkins/cache/conan/.conan:/home/jenkins/.conan'
+              args '-v /home/jenkins/cache/ccache:/opt/ccache -v /home/jenkins/cache/conan/.conan:/opt/conan/.conan'
               additionalBuildArgs '--pull'
             }
           }
@@ -494,16 +531,10 @@ pipeline {
               configure {
                 cmakeOptions =
                   '"-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=include-what-you-use;-Xiwyu;--mapping_file=../scripts/jenkins/iwyu-mappings.imp" ' +
-                  '-DCMAKE_LINK_WHAT_YOU_USE=ON ' +
-                  '"-DCMAKE_CXX_CPPCHECK=cppcheck;--std=c++11;--language=c++;--suppress=syntaxError;--suppress=preprocessorErrorDirective:*/ThirdParty/*;--suppress=preprocessorErrorDirective:*conan*/package/*" ' +
-                  '-DCMAKE_CXX_CLANG_TIDY=clang-tidy-5.0 '
+                  '-DCMAKE_LINK_WHAT_YOU_USE=ON '
                 config = 'Release'
               }
-              try {
-                build { target = 'check-header' }
-                build { }
-              }
-              catch (Exception e) { }
+              build { target = 'check-header' }
             }
           }
         }
@@ -589,7 +620,7 @@ pipeline {
               filename 'Dockerfile.clang.minimal'
               dir 'scripts/docker'
               label 'docker'
-              args '-v /home/jenkins/cache:/home/jenkins/cache -v /home/jenkins/cache/conan/.conan:/home/jenkins/.conan'
+              args '-v /home/jenkins/cache/ccache:/opt/ccache -v /home/jenkins/cache/conan/.conan:/opt/conan/.conan'
               additionalBuildArgs '--pull'
             }
           }