首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Jenkins上执行.NET项目的SonarScanner,因为"dotnet-sonarscanner:未找到“

无法在Jenkins上执行.NET项目的SonarScanner,因为"dotnet-sonarscanner:未找到“
EN

Stack Overflow用户
提问于 2020-09-23 04:16:58
回答 2查看 612关注 0票数 0

对sonnar来说很新鲜。到目前为止,我已经能够在jenkins中配置我的sonarqube服务器,并使用以下代码运行maven应用程序。

代码语言:javascript
复制
withSonarQubeEnv('sonarserver') {

     sh 'mvn clean package sonar:sonar'
             
    }  

这将成功运行,并执行分析和maven构建,并生成一个war文件。我还可以在sonarqube页面中看到分析

现在,我正在尝试为.net核心应用程序做同样的事情。我按照这个link安装了sonarscanner

第一步成功运行,我得到了:

代码语言:javascript
复制
dotnet tool install --global dotnet-sonarscanner
Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed.
You can invoke the tool using the following command: dotnet-sonarscanner

因此,我接下来创建了以下代码:

代码语言:javascript
复制
withSonarQubeEnv('sonarserver') {
       sh '''
          
          dotnet-sonarscanner begin /k:"proyject-key" //key was generated in sonarqube x new proj.
          dotnet build solution.sln
          dotnet-sonarscanner end
        
        '''

但现在我得到了:

代码语言:javascript
复制
+ dotnet-sonarscanner begin /k:project-key
/var/lib/jenkins/workspace/sonar-test-dotnet@tmp/durable-00ff368b/script.sh: 3: /var/lib/jenkins/workspace/sonar-test-dotnet@tmp/durable-00ff368b/script.sh: dotnet-sonarscanner: not found
[Pipeline] }
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeed?
EN

回答 2

Stack Overflow用户

发布于 2020-09-25 03:18:55

根据您提到的文档,执行的命令应该是:

代码语言:javascript
复制
dotnet sonarscanner begin /k:"proyject-key" //key was generated in sonarqube x new proj.
dotnet build solution.sln
dotnet sonarscanner end

而不是:

代码语言:javascript
复制
dotnet-sonarscanner begin /k:"proyject-key" //key was generated in sonarqube x new proj.
dotnet build solution.sln
dotnet-sonarscanner end

dotnet-sonarscanner替换为dotnet sonarscanner

票数 1
EN

Stack Overflow用户

发布于 2021-09-06 19:06:00

这个阶段对我来说很有用。

代码语言:javascript
复制
pipeline {
agent any
environment { 
                PROYECT_FOLDER = 'xxx'
                PROYECT_NAME = 'xxx'
                PROYECT_TEST_FOLDER = 'xxt'
                PROYECT_TEST_NAME = 'Mxxx'
                SONAR_KEY_PROYECT = 'xx'
                SONAR_URL = 'xxx'
                SONAR_LOGIN = 'xx' //Key get from sonnar
            }
stages {

.

代码语言:javascript
复制
 stage('Build + SonarQube analysis') {
          environment { 
                MSBUILD_SQ_SCANNER_HOME = tool name: 'SonaScanner.NetCore'
            }
         steps {
             withSonarQubeEnv('sonarqube') {
                sh "dotnet ${MSBUILD_SQ_SCANNER_HOME}/SonarScanner.MSBuild.dll  begin /k:'${SONAR_KEY_PROYECT}' /d:sonar.host.url=${SONAR_URL} /d:sonar.login=${SONAR_LOGIN} " 
                sh "dotnet build ${PROYECT_FOLDER}/${PROYECT_NAME} --configuration Release --no-restore"
                sh "dotnet ${MSBUILD_SQ_SCANNER_HOME}/SonarScanner.MSBuild.dll end /d:sonar.login=${SONAR_LOGIN}}"
             }
         }
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64017095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档