我试图通过Jenkins管道构建我的TypeScript应用程序。为了管理构建、测试和代码质量扫描,我让Jenkins使用一个基于Node:7-Alpine的Docker代理。
容器的Dockerfile是:
FROM node:7-alpine
RUN npm install -g gulp sonarqube-scanner
我的Jenkins文件看起来像:
pipeline {
agent {
dockerfile { dir 'build-image' }
}
stages {
stage('Build') {
steps {
sh 'npm install'
sh 'npm run build'
}
}
stage("SonarQube Analysis") {
steps{
sh 'gulp sonar'
}
}
[03:00:14]开始SonarQube分析...
[03:00:14]检查可执行文件是否存在:/home/node/.sonar/native-sonar-scanner/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner
[03:00:14]在“/home/node/.sonar/native-sonar-scanner”中找不到可执行文件。
[03:00:14](可执行文件将保存在缓存文件夹:/home/node/.sonar/native-sonar-scanner中)
/home/node/.sonar/native-sonar-scanner/sonar-scanner-3.0.3.778-linux/bin/sonar-scanner:exec:line73://home/node/.sonar/native-sonar-scanner/sonar-scanner-3.0.3.778-linux/jre/bin/java:未找到
child_process.js:504
throw err;
^
我也犯了同样的错误。我不知道这个错误的原因,但是解决方法是使用Node的非Alpine版本。也许你可以使用多级docker构建,这样你的最终图像无论如何都是基于阿尔卑斯版本的。
我希望对git存储库代码执行SonarQube分析,并且希望使用Docker容器中的SonarScanner,而不是Jenkins配置中的SonarScanner。
在SonarQube runner中,可以通过sonar project属性中的sonar.exclusions属性来管理排除的项目。通过这种方式,我们可以独立于代码库来管理构建配置。 当项目文件夹被称为***.tests时,在将其添加到排除设置后,仍会对其进行扫描。
我正在使用Jenkins为我的.NET项目(C#)运行SonarQube。 使用MsBuild:MsBuild版本:MsBuild 4.6 MsBuild文件:ci.sln命令行参数:/p:configuration=release/target:Build构建Visual Studio项目或解决方案 用于MSBuild-End分析的SonarQube扫描器 我可以为Visual Studio20
我正在尝试从我的jenkins节点运行soanrQube扫描,Sonar scanner版本是SonarQube scanner 3.1.0.1141,SonarQube服务器是SonarQube服务器5.6.4。得到以下错误,有谁能在这方面帮助我。
我认为这是因为容器没有JAVA_HOME变量集。我执行了和尝试命令,但它没有显示java可执行文件。此外,java和javac命令不起作用。 有人知道我做错了什么吗?如有任何帮助,不胜感激。提前感谢!
有人知道MSBuild的SonarQube扫描器是作为构建的一部分进行扫描并只将结果发回给SonarQube,还是EXE正在检测,我们可以将工件发送到Linux机器上的SonarQube进行分析,类似于使用sonar-scanner-cli扫描java工件的方式?