Как создать файл jacoco.exec на удаленном сервере

Я использую сервер tomcat, и в нем catalina.sh я экспортировал JAVA_OPTS следующим образом.

JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/jacoco/lib/jacocoagent.jar=destfile=/tmp/jacoco.exec,append=true,includes=*"

Это создает файл jacoco.exec на том же компьютере в папке /tmp. Как мне сгенерировать файл exec на удаленной машине, например, на машине, которая является подчиненной jenkins, чтобы я мог получить покрытие через сонар.


person station    schedule 18.06.2017    source источник


Ответы (1)


Для этого необходимо обеспечить несколько пунктов:

  1. у вас есть jacocoagent.jar, доступный на вашем узле jenkins в /opt/jacoco/lib?

    если нет то можешь

    • [Solution a] either put it there, then the basic configuration is correct,
    • [Решение b] проверьте его с помощью своего кода или загрузите его через maven и т. д. - так что это часть вашей «реализации» - например. мы помещаем его в наш корень выполнения, поэтому у нас есть просто javaagent:jacocoagent.jar
  2. вам нужно адаптировать вывод журнала destfile=/tmp/jacoco.exec

    Поскольку это абсолютный путь, он всегда будет генерировать вывод там, и я не уверен, что вы можете получить к нему доступ оттуда, в рамках вашей работы jenkins.

    • [Solution A] you make the destfile relative like ./build/jacoco.exec, than you will find it within your workspace on jenkins
    • [Решение B] вы просто не указываете это поле, тогда оно будет называться jacoco.exec и будет находиться в папке выполнения
  3. Вам необходимо указать путь к этому файлу на основе https://docs.sonarqube.org/display/PLUG/Usage+of+JaCoCo+with+Java+Plugin

я надеюсь, что смог помочь :D

person Simon Schrottner    schedule 19.06.2017