如何使用Hudson / SVN / Sonar / MSBuild配置CI服务器

时间:2012-01-06 16:32:12

标签: svn msbuild continuous-integration hudson sonarqube

我已经安装了一个带有hudson / SVN / Sonar插件/ msbuild插件的CI服务器来构建和分析我的C#代码(安装了生态系统C#插件)。

问题是当我创建一个工作时出现错误:

[workspace] $ "C:\Program Files\Java\jdk1.7.0_01/bin/java" -cp C:\hudson\jobs\test\workspace\sonar-runner3271937888694838.jar;C:\hudson\jobs\test\workspace\sonar-batch-bootstrapper15605874800135.jar org.sonar.runner.Main -D project.settings=C:\hudson\jobs\test\workspace\trunk\test\sonar-project.properties
Project settings: C:\hudson\jobs\test\workspace\trunk\test\sonar-project.properties
Runner version: 1.1
Server: http://localhost:9000
Work directory: C:\hudson\jobs\test\workspace\.sonar
17:04:03.874 WARN  Derby database should be used for evaluation purpose only
17:04:03.877 INFO  Create JDBC datasource
17:04:04.408 INFO  Initializing Hibernate
17:04:07.179 INFO  No '.sln' file found or specified: trying to find one...
17:04:07.186 WARN  No '.sln' file specified, and none found at the root of the project: C:\hudson\jobs\test\workspace\.
Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public final void org.sonar.api.batch.bootstrap.ProjectBuilder.start()', instance 'org.sonar.plugins.csharp.core.VisualStudioProjectBuilder@44be9164, java.lang.RuntimeException: wrapper
    at org.sonar.runner.Runner.delegateExecution(Runner.java:155)
    at org.sonar.runner.Runner.execute(Runner.java:58)
    at org.sonar.runner.Main.main(Main.java:52)
        ...

我认为它没有找到.sln文件,但是当我在作业中停用SVN或Sonar时,它没问题。

我配置了我的工作: - SVN(url到svn服务器没问题) - Msbuild(C:\hudson\jobs\test\workspace\trunk\test\test.sln的路径正常) - 声纳(C:\hudson\jobs\test\workspace\trunk\test\sonar-project.properties的路径正常)

我的sonar-project.properties文件(.sln文件和sonar-project.properties位于同一目录中):

sonar.projectKey=test_app

sonar.projectVersion=0.1

sonar.projectName=test project

sources=.

sonar.language=cs

我的目标是每个开发者都在svn"运行"哈德森的工作(使用msbuild和声纳构建和分析代码)。

2 个答案:

答案 0 :(得分:0)

我有同样的问题。你解决了问题吗?

我在构建之后创建了一个批处理任务:

  

cd C:\ Program Files \ Jenkins \ jobs \ Contacts \ workspace \ ProjectName \

     

sonar-runner -Dsonar.language = cs -Dsonar.projectName = projectName   -Dsonar.projectVersion = 1.0-SNAPSHOT -Dsources =“。” -Dsonar.projectKey = projectKey

它正在运作。

答案 1 :(得分:0)

确保添加名为:sonar.dotnet.visualstudio.solution.file =“sln文件的名称”的附加声纳属性,其中包含相对于Workspace目录的路径,您将很高兴。

更多此类属性可在此处找到:Sonar CSharp Core Plugin