Как настроить CI сервер с помощью Hudson / SVN / Sonar / MSBuild - PullRequest
0 голосов
/ 06 января 2012

Я установил CI-сервер с плагином hudson / SVN / Sonar / плагином msbuild для построения и анализа моего кода 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 ИЛИ сонар в работе, все в порядке.

Я настроил в своей работе: - 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 "запускал" задание hudson (со сборкой и анализом кода с помощью msbuild и sonar).

Ответы [ 2 ]

0 голосов
/ 04 февраля 2012

Убедитесь, что вы добавили дополнительное свойство sonar под названием: sonar.dotnet.visualstudio.solution.file = "имя файла sln" с путем относительно каталога рабочей области, и все будет в порядке.

Больше таких свойств можно найти здесь: Sonar CSharp Core Plugin

0 голосов
/ 02 февраля 2012

У меня такая же проблема. Вы решили свою проблему?

Я создал пакетное задание после сборки:

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

Это работает.

...