2010-04-29 14 views
5

मैं सतत एकीकरण के लिए CruiseControl.net उपयोग कर रहा हूँ का उपयोग कर। मैंने VisualSvn सर्वर (विंडोज प्रमाणीकरण का उपयोग करता है) का उपयोग कर अपने प्रोजेक्ट के लिए एक संग्रह बनाया है। दोनों सर्वर एक ही सिस्टम में होस्ट किए जाते हैं (ओएस-माइक्रोसॉफ्ट विंडोज सर्वर 2003 एसपी 2)।चेक VisualSVN सर्वर और Cruisecontrol.net

जब मैं CruiseControl.net का उपयोग कर परियोजना का निर्माण मजबूर "विफल कार्य (ओं): SVN: CheckForModifications" संदेश के रूप में दिखाया गया है। जब मैं निर्माण रिपोर्ट की जाँच की, यह इस प्रकार कहते हैं:

BUILD EXCEPTION 
Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: OPTIONS of 'https://system:8443/svn/folder/Source': **Server certificate verification failed: issuer is not trusted** (https://system:8443). Process command: C:\Program Files\VisualSVN Server\bin\svn.exe log **sameUrlAbove** -r "{2010-04-29T08:35:26Z}:{2010-04-29T09:04:02Z}" --verbose --xml --username ccnetadmin --password cruise --non-interactive --no-auth-cache 
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo) 
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetModifications (IIntegrationResult from, IIntegrationResult to) 
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild) 
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to) 
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request) 

ccnet.config में मेरे SourceControl नोड के रूप में नीचे दिखाया गया है:

<sourcecontrol type="svn"> 
    <executable>C:\Program Files\VisualSVN Server\bin\svn.exe</executable> 
    <trunkUrl> 
    check out url 
    </trunkUrl> 
    <workingDirectory> 
    C:\ProjectWorkingDirectories\folder\Source 
    </workingDirectory> 
    <username> 
    ccnetadmin 
    </username> 
    <password> 
    cruise 
    </password> 
</sourcecontrol> 

किसी भी एक सुझाव दे सकते हैं इस त्रुटि से बचने के लिए कैसे?

उत्तर

1

सर्वर प्रमाण पत्र सत्यापन विफल रहा: जारीकर्ता विश्वसनीय नहीं है

या तो HTTP के माध्यम से कनेक्ट या निर्माण मशीन के लिए CA प्रमाणपत्र जोड़ें।

5

तोड़फोड़ त्रुटि संदेश दर्शाता है

svn: OPTIONS of ' https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source ': Server certificate verification failed: issuer is not trusted (https://sp-ci.sbsnetwork.local:8443).

यह मुझसे कहता है कि अपने 'SVN' अपने सर्वर की https प्रमाण पत्र पर भरोसा नहीं करता है।

आप उपयोगकर्ता चल CruiseControl के रूप में की तरह

svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source 

कुछ प्रदर्शन करके इसे ठीक कर सकते हैं और फिर प्रमाण पत्र स्वीकार करते हैं।

(एक अन्य विकल्प CruiseControl पास --trust-server-प्रमाणपत्र svn को बनाने के लिए होगा, लेकिन मैं जो विन्यास विकल्प आपको उस के लिए की जरूरत है पता नहीं है)

+0

हाय, के लिए प्रमाण विकल्प, मैंने जो कुछ कहा वह मुझे समझ में नहीं आया। आप कृपया समझा सकते हैं कि तुम क्या मतलब द्वारा: "CruiseControl चल उपयोगकर्ता के रूप में 8443/SVN/IntranetPortal/स्रोत और उसके बाद प्रमाण पत्र स्वीकार करते हैं:: //sp-ci.sbsnetwork.local SVN जानकारी https की तरह कुछ प्रदर्शन" आपके उत्तर के लिए धन्यवाद ... – Harun

+0

मेरे विचारों के समान। – DilbertDave

+0

स्थानीय सिस्टम के रूप में प्रतिरूपित एक कमांड प्रॉम्प्ट खोलने के लिए Sysinternal Suite (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx) से PsExec का उपयोग करें और स्थायी रूप से प्रमाण पत्र – Vasea

1

एक समान के लिए एक नज़र here ले लो (लेकिन थोड़ा अलग) समस्या है कि मेरे पास थोड़ी देर पहले था।

असल में आप सामान्य 'सिस्टम' खाते के रूप में सेवा नहीं चला सकते हैं, तो आपको उचित अनुमतियों के साथ स्थानीय उपयोगकर्ता को निर्दिष्ट और कॉन्फ़िगर करना होगा और उस उपयोगकर्ता के रूप में चलाने के लिए सेवा को कॉन्फ़िगर करना होगा।

तो उपयोगकर्ता के रूप में सर्वर में प्रवेश और कमांड लाइन पर किसी भी SVN आदेश चला;
बर्ट पता चलता है:

svn info https://sp-ci.sbsnetwork.local:8443/svn/IntranetPortal/Source 

आप SVN यूज़रनेम और पासवर्ड जो उसके बाद उपयुक्त स्थान में कैश कर रहे हैं के लिए नहीं कहा जाएगा। आपको प्रमाण पत्र स्वीकार करने के लिए भी कहा जाना चाहिए - जो आपको करना चाहिए।

अब सेवा बिना किसी समस्या के चलाने चाहिए।

+0

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

+0

जब भी मैं Visualsvn सर्वर के उसी यूआरएल का उपयोग करके मैन्युअल रूप से चेकआउट करने का प्रयास करता हूं; एक पॉपअप दिखाया जाता है जो कहता है "प्रमाणपत्र विश्वसनीय नहीं है, चाहे इसे जारी रखना है या नहीं "इसे स्थायी रूप से स्वीकार करने के बाद चेकआउट ठीक काम करता है। लेकिन जब मैंने सीसीनेट कॉन्फ़िगरेशन के माध्यम से कोशिश की तो मेरी पिछली टिप्पणी में उल्लिखित त्रुटि होती है। क्या आपके पास इसे हल करने के लिए कोई सुझाव है? .. – Harun

+0

ठीक है - मुझे 100% यकीन नहीं है आपका मतलब है 'सीसीनेट कॉन्फ़िगरेशन का उपयोग करके जांचना'। यदि सेवा के रूप में चलते समय सबकुछ ठीक काम करता है तो आपको त्रुटि कब दिखाई देती है? मेरी समस्याएं https के माध्यम से एसवीएन तक पहुंचने के कारण थीं क्योंकि जब मैंने सेवा के रूप में सीसीनेट चलाया तो मुझे यह सुनिश्चित करने के लिए आवश्यक था कि वह सेवा जो वैध सेवा के रूप में चल रही थी। उस उपयोगकर्ता के रूप में लॉग इन करना और एक svn कमांड चलाने से मुझे प्रमाणपत्र स्वीकार करने की अनुमति मिली और सभी ठीक थे। – DilbertDave

0

मैं विंडोज सर्वर डोमेन में निरंतर एकीकरण करने की कोशिश कर रहा था। डोमेन नियंत्रक सर्वर SVN सर्वर (डोमेन में से एक में स्थापित) के लिए एक प्रमाणपत्र जारी करना चाहिए। फिर एसवीएन सर्वर पर जारी प्रमाण पत्र आयात करें।डोमेन नियंत्रक से एक प्रमाणपत्र जारी करने के लिए एक अनुरोध बनाने

1) :

प्रक्रिया दो चरणों में शामिल हैं।

  For that follow the steps: 
       i) open visual svn server 
       ii) "right click" **visualSVN Server(Local)** and "select" 
         **properties** 
       iii) "select" **change certificate** in **cetificates** 
       iv) "check" the **prepare certificate request** and "provide" the 
         domain controller as server and do as asked. 
        v) "save" the request as **.req extension** and **finish** the 
        process 

2) डोमेन नियंत्रक से .req फ़ाइल भेजने से स्थानीय सेवा खाते के अंतर्गत डिफ़ॉल्ट रूप से प्रमाण पत्र

  For that follow the steps: 
        i) run **cmd** 
        ii) run **certreq -submit -attrib "CertificateTemplate: WebServer" 
         .req file with its path** 
        iii) save the certificate with **.cer** extension. 
        iv) do **i,ii,iii** of the **step 1** 
        v) "check" the **Import Signed Certificate** and "browse" the 
         **.cer file** and install it.      
0

CruiseControl सेवा रन मिलता है, इसलिए सुनिश्चित करें कि प्रमाण पत्र के माध्यम से स्वीकार कर रहे हैं बनाने के लिए स्थानीय सेवा खाता या उपयोगकर्ता के लिए "लॉग ऑन ऑन" सेवा उपयोगकर्ता को बदलता है जो कर्ट स्वीकार करता है।

reference

0

मैं Pass arguments to svn when using CruiseControl.net पर मेरे सवाल में यहाँ एक ही समस्या का समाधान हो

आप मूल रूप से ccnet.config में अपने sourcecontrol ब्लॉक में परिवर्तन और एक बैच फ़ाइल जो --trust-सर्वर गुजरता उपयोग करने की आवश्यकता svn

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