2016-06-20 15 views
22

के साथ गिटलैब को एकीकृत करना मेरे पास मेरे सर्वर पर गिटलैब सीई (v8.5 कम से कम) स्थापित है। मैं इसे सोनारक्वे के साथ एकीकृत करना चाहता हूं ताकि अनुरोधों को मर्ज करने के लिए टिप्पणी अनुभाग में कोई समस्या दिखाई दे। क्या किसी ने इन 2 प्रणालियों को सफलतापूर्वक एकीकृत किया है?sonarqube

फिलहाल, मुझे केवल सोनारक्वे प्लगइन मिला है, लेकिन मैं इसे गिटलैब के साथ सफलतापूर्वक एकीकृत करने में सक्षम नहीं हूं।

https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin

मैं sonarqube (v5.5) के लिए एक डोकर कंटेनर इस्तेमाल किया और एक्सटेंशन निर्देशिका में प्लगइन की नकल की। Sonarqube में प्लगइन के सेटिंग पेज में gitlab उपयोगकर्ता टोकन और gitlab uri कॉन्फ़िगर किया गया।

मैं, सतत एकीकरण के लिए GitLab सीआई उपयोग कर रहा हूँ और मैं (Gradle का उपयोग कर)

sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \ 
    -Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \ 
    -Psonar.gitlab.project_id=$CI_PROJECT_ID 

sonarqube के लिए निम्नलिखित का निर्माण नौकरी लेकिन मैं इस के बाद करने के लिए सुनिश्चित क्या नहीं कर रहा हूँ। सवालों का युगल:

  1. जब किसी मर्ज अनुरोध अभी तक अस्तित्व में नहीं है तो क्या होगा? मेरे गिट वर्कफ़्लो में, उपयोगकर्ता अपनी शाखा पर काम करने के बाद एक मर्ज अनुरोध जमा करेंगे। तो, यह प्लगइन कैसे पता चलेगा कि कौन सा मर्ज अनुरोध अपडेट करना है?

  2. अभी मेरे पास सोनारक्वे वैल्यूएशन कार्य केवल मास्टर शाखा पर चलने वाला है। मुझे लगता है कि इसे उपयोगकर्ता शाखाओं में भी बदलना होगा, है ना?

मैंने मर्ज अनुरोध सबमिट करने का प्रयास किया, लेकिन मुझे कोई टिप्पणी नहीं जोड़ा गया। मुझे लगता है कि मुझे कुछ विन्यास या प्रक्रिया याद आ रही है। वास्तव में सराहना करते हैं यदि आप मुझे सही दिशा में इंगित करने में मदद कर सकते हैं।

+0

क्या आप वाकई गिटलैब प्लगइन को सोनारक्यूब में स्थापित कर चुके हैं? (प्रमाणित करने का एक तरीका: जब आप सोनारक्यूब में प्रशासन में जाते हैं, तो क्या आप बाएं हाथ में गिटलैब देखते हैं?) मैं पूछता हूं क्योंकि आपके जैसे, मैं सोनारक्यूब [डॉकर के साथ] चला रहा था (https://github.com/harbur/डॉकर-सोनारक्वे) ... इस चेतावनी को नोट करें: यदि 'एक्सटेंशन/प्लगइन्स' निर्देशिका 'वॉल्यूम' है, तो आप अपने 'डॉकरफ़ाइल' से 'wget' या' curl' में इसकी अपेक्षा नहीं कर सकते हैं। आपको लगता है कि आपने एक्सटेंशन को पकड़ लिया है, लेकिन यदि आप 'ls' _after_ स्टार्टअप को पा सकते हैं, तो प्लगइन वास्तव में आपके उत्तर के लिए – hangtwenty

+0

धन्यवाद नहीं है। मैंने सोनारक्बे में प्रशासन की जांच की और सत्यापित किया कि प्लगइन वास्तव में दिखाई देता है। Sonarqube डॉकर छवि खींचने के बाद, मैं वास्तव में कंटेनर के अंदर प्लगइन फाइलों की प्रतिलिपि बनाई। – aver

+0

मुझे एक ही समस्या मिली। क्या आप समाधान ढूंढने में सक्षम थे? –

उत्तर

2

मुझे आपकी तुलना में एक ही समस्या थी। गिटलैब एमआर में टिप्पणियां नहीं दिख रही थीं। मैंने इसे दो फिक्स के साथ काम किया:

  • सुनिश्चित करें कि पूर्वावलोकन मोड का उपयोग किया जाता है। यदि ऐसा नहीं है, तो गिटलैब टिप्पणियों के रूप में दिखाई देने के लिए GitLab
  • पर समस्याएं रिपोर्ट नहीं की गई हैं, उन्हें "नए" मुद्दे होना चाहिए। यदि आपने गिटलैब को धक्का देने से पहले अपनी परियोजना का विश्लेषण लॉन्च किया है, तो मुद्दों को सोनारक्यूब द्वारा नए नहीं माना जाएगा, और एमआर में कोई टिप्पणी नहीं जोड़ा जाएगा।

यह आपकी समस्या का समाधान नहीं होता है, प्लगइन रेपो क्लोनिंग कोड को निशान जोड़ने (CommitIssuePostJob.java जगह देखने के लिए है) पैकेज Maven साथ जार की कोशिश, और अपने सोनार स्थापना तक पैच जार तैनात । इस तरह मैंने देखा कि रिपोर्ट करने के लिए मेरे पास कोई नया मुद्दा नहीं था।

2
  • आप -Dsonar.gitlab ... बजाय -Psonar.gitlab ... आदि का उपयोग करना चाहिए (https://groups.google.com/forum/#!topic/sonarqube/dx8UIkcz55c देखें)
  • प्लगइन के नवीनतम संस्करण में आप एक टिप्पणी जोड़ने के लिए सक्षम कर सकते हैं, जब कोई मुद्दा मिला है। यह डिबगिंग के साथ मदद करता है।

@ 1: टिप्पणियाँ अपने प्रतिबद्ध में जोड़ दिया जाएगा और उसके बाद किसी मर्ज अनुरोध की चर्चा अनुभाग में दिखाई देगा

@ 2: हम किसी भी पर गुरु पर एक पूर्ण विश्लेषण और एक पूर्वावलोकन चल रहे हैं शाखाओं।

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