2011-10-25 12 views
13

उम्मीद है कि कोई मदद कर सकता है।मैवेन, जेनकींस, सोनार और कोबर्टुरा को सही तरीके से कैसे एकीकृत करूं?

  • हमारी परियोजना एक ग्रहण प्लग-इन परियोजना
  • हम एक जेनकींस सर्वर है है
  • हमारी परियोजना Maven और निर्माण प्रबंधन के लिए टाइको (प्लग-इन परियोजनाओं के लिए)
  • हम एक सोनार सर्वर स्थापित का उपयोग करता है
  • हम जेनकींस वेब कॉन्फ़िग

अभी सेवा का उपयोग करता है, तो हम सोनार का उपयोग नहीं करते, सब कुछ ठीक है द्वारा जेनकींस में सोनार एकीकृत। लेकिन अगर हम इसे चालू करते हैं, तो सोनार के लिए मेवेन कोबर्टुरा प्लगइन त्रुटियों को फेंकता है। बाकी सब कुछ (जहां तक ​​आउटपुट जाता है) ठीक है।

अब, मैं क्या समझ से, निम्न होता है:

  • जेनकींस परियोजना
  • सोनार अपनी स्थिर कोड विश्लेषण प्लगइन्स और मीट्रिक (FindBugs, PMD, आरएफसी, आदि)
  • का उपयोग करता है बनाता है सोनार Cobertura प्लगइन
  • Cobertura परियोजना का निर्माण करने की कोशिश करता है फिर
  • Cobertura यह निर्माण में सफल नहीं होता, क्योंकि यह एक अलग आदेश में यह बनाता है शुरू होता है
  • 01,235,
  • Cobertura जेनकींस से

कुछ उत्पादन अंश विफल रहता है:

[INFO] ------------------------------------------------------------------------ 
[INFO] Building Project 
[INFO] ------------------------------------------------------------------------ 

[WARNING] The following dependencies could not be resolved at this point of the build but seem to be part of the reactor: 

[WARNING] o de.tool.core:de.tool.core:eclipse-plugin:1.2.0-SNAPSHOT (provided) 

[WARNING] Try running the build up to the lifecycle phase "package" 

बाद ... निर्माण के क्रम कि कोर विकास से पहले बनाया गया है, लेकिन विकास पहली बात Cobertura का निर्माण करना चाहती हो रहा है ...

[INFO] Execute maven plugin cobertura-maven-plugin... 
[INFO] Execute org.codehaus.mojo:cobertura-maven-plugin:2.5:cobertura... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building de.tool.evolution 1.0.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> cobertura-maven-plugin:2.5:cobertura (default-cli) @ de.tool.evolution >>> 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 35.240s 
[INFO] Finished at: Tue Oct 25 11:28:29 CEST 2011 
[INFO] Final Memory: 57M/231M 

उसके बाद हमेशा कुछ इस तरह के लिए राशि बनाता है:

[INFO] ------------------------------------------------------------------------ 
[INFO] Building de.tool.core 1.2.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> cobertura-maven-plugin:2.5:cobertura (default-cli) @ de.tool.core >>> 
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:build-qualifier (default-build-qualifier) @ de.tool.core --- 
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:validate-id (default-validate-id) @ de.tool.core --- 
[INFO] 
[INFO] --- tycho-packaging-plugin:0.13.0:validate-version (default-validate-version) @ de.tool.core --- 
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ de.tool.core --- 
[INFO] Using 'Cp1252' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /var/lib/jenkins/jobs/testBuild/workspace/de.tool.core/src/main/resources 
[INFO] 
[INFO] --- tycho-compiler-plugin:0.13.0:compile (default-compile) @ de.tool.core --- 
[INFO] Using compile source roots from build.properties 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- cobertura-maven-plugin:2.5:instrument (default-cli) @ de.tool.core --- 
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file 
Instrumenting 88 files to /var/lib/jenkins/jobs/testBuild/workspace/de.tool.core/target/generated-classes/cobertura 
Cobertura: Saved information on 88 classes. 
Instrument time: 256ms 

[INFO] Instrumentation was successful. 
[INFO] NOT adding cobertura ser file to attached artifacts list. 
[INFO] 
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ de.tool.core --- 
[INFO] Using 'Cp1252' encoding to copy filtered resources. 
[INFO] skip non existing resourceDirectory /var/lib/jenkins/jobs/testBuild/workspace/de.tool.core/src/test/resources 
[INFO] 
[INFO] <<< cobertura-maven-plugin:2.5:cobertura (default-cli) @ de.tool.core <<< 
[INFO] 
[INFO] --- cobertura-maven-plugin:2.5:cobertura (default-cli) @ de.tool.core --- 
[INFO] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file 
Cobertura: Loaded information on 88 classes. 
Report time: 800ms 

[INFO] Cobertura Report generation was successful. 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 50.133s 
[INFO] Finished at: Tue Oct 25 11:28:44 CEST 2011 
[INFO] Final Memory: 33M/263M 

चेतावनी इसके बाद:

[INFO] Java bytecode scan... 
[WARN] Class 'de/tool/core/util/EObjectUtil' is not accessible through the ClassLoader. 
[INFO] Java bytecode scan done: 105 ms 
... 
The following classes needed for analysis were missing: 
    de.tool.core.util.EObjectUtil 

... और पेट में एक अंतिम पंच:

[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] de.tool.core ............................... SUCCESS [2.364s] 
[INFO] de.tool.evolution .......................... FAILURE [0.023s] 
... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1:52.418s 
[INFO] Finished at: Tue Oct 25 11:29:46 CEST 2011 
[INFO] Final Memory: 51M/411M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal on project de.tool.evolution: Could not resolve dependencies for project de.tool.evolution:de.tool.evolution:eclipse-plugin:1.0.0-SNAPSHOT: Could not find artifact de.tool.core:de.tool.core:eclipse-plugin:1.2.0-SNAPSHOT -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project de.tool.evolution: Could not resolve dependencies for project de.tool.evolution:de.tool.evolution:eclipse-plugin:1.0.0-SNAPSHOT: Could not find artifact de.tool.core:de.tool.core:eclipse-plugin:1.2.0-SNAPSHOT 

मेरा अनुमान है कि निर्माण के क्रम सोनार में गलत है। लेकिन यह कैसे जुड़ा होगा (क्योंकि जेनकिंस सही क्रम में परियोजना बनाता है)?

और क्यों पृथ्वी पर कोबर्टुरा परियोजना को फिर से बनाता है? जेनकिंस ने पहले ही इसे बनाया है और कोबर्टुरा संकलित कक्षाओं का उपयोग वहां से कर सकता है ... या क्या मैं कुछ गलत समझ रहा हूं?

+3

मैं मुख्य प्रश्न का उत्तर नहीं दे सकता लेकिन मुझे लगता है कि कोबर्टुरा को कोड कैप्चरिंग कवरेज जानकारी (बाद में सोनार द्वारा उपयोग किए जाने वाले) बुनाई के लिए प्रोजेक्ट का पुनर्निर्माण करने की आवश्यकता है। यह निराशाजनक है कि कोड दो बार बनाया जा रहा है। हमारे मामले में हमने सभी कोड विश्लेषण/कवरेज को अलग जेनकींस नौकरी में ले जाया और इसे रात में चलाया क्योंकि इसमें बहुत लंबा समय लगता है। – maximdim

+0

@ डैनोवर क्या आप शायद सोनारक्यूब + जेनकिन्स + मेवेन और कोबर्टुरा हैं? –

उत्तर

12

मैंने अपने मेवेन-निर्मित प्रोजेक्ट के उपयोग के लिए सोनार के साथ अपनी कंपनी के जेनकींस सर्वर को कॉन्फ़िगर करना अभी पूरा कर लिया है। तो यहां ऐसे कदम हैं जिन्हें मुझे जाना था।

मेरे पोम में।एक्सएमएल (Maven2 संस्करण), मैं निम्नलिखित कोड जोड़ने के लिए किया था: हमारे लिनक्स निर्माण सर्वर पर

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>sonar-maven-plugin</artifactId> 
      <version>1.0-beta-2</version> 
     </plugin> 

, हम पहले से ही MySQL स्थापित किया था, तो हम कैसे सोनार MySQL करने के लिए बात करने के लिए प्राप्त करने के लिए पर Wakaleo Consulting से निर्देशों का पालन किया। जेनकींस कॉन्फ़िगरेशन सेक्शन में MySQL URL में बच निकले Ampersand पर ध्यान दें; जिसने हमें कुछ बिल्डों के लिए एक लूप के लिए फेंक दिया।

ही, ध्यान दें कि आप अपने Maven लक्ष्य लाइन पर sonar:sonar लक्ष्य शामिल करने के लिए नहीं जरूरत करना ... परियोजना स्तर पर सोनार को सक्षम करने से ले उसके आंकड़े के सभी इकट्ठा करने के लिए हमारे जेनकींस नौकरी के लिए पर्याप्त था।

मुझे लगता है कि इसे कवर करने के बारे में।

+0

वाकालो के लिए मृत लिंक। –

+0

Wakaleo लिंक को अन-ज़म्बोफाइड किया गया। – Mike

संबंधित मुद्दे