2014-05-20 12 views
5

हम विंडोज 2012 आर 2 एक्स 64 पर कुछ विशिष्ट सॉफ्टवेयर बनाने के लिए जेनकींस का उपयोग करना चाहते हैं। लेकिन जब मैं इसे चलाने के लिए कोशिश कर रहा है, मास्टर नोड whis इस त्रुटि में विफल रहता है:विंडोज 2012 आर 2 x64 पर जेनकिन्स गुलाम कैसे चलाएं?

Connecting to 192.168.1.27 
Checking if Java exists 
C:\Program Files\Java\jdk1.6.0_30\bin\java.exe -version returned 1.6.0. 
Installing the Jenkins slave service 
ERROR: Message not found for errorCode: 0xC00000AC 
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0xC00000AC 
    at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:102) 
    at hudson.util.jna.DotNet.isInstalled(DotNet.java:77) 
    at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:292) 
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222) 
    at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:701) 
Caused by: jcifs.smb.SmbException: All pipe instances are busy. 
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) 
    at jcifs.smb.SmbTransport.send(SmbTransport.java:664) 
    at jcifs.smb.SmbSession.send(SmbSession.java:238) 
    at jcifs.smb.SmbTree.send(SmbTree.java:119) 
    at jcifs.smb.SmbFile.send(SmbFile.java:775) 
    at jcifs.smb.SmbFile.open0(SmbFile.java:989) 
    at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
    at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
    at jcifs.smb.TransactNamedPipeOutputStream.<init>(TransactNamedPipeOutputStream.java:32) 
    at jcifs.smb.SmbNamedPipe.getNamedPipeOutputStream(SmbNamedPipe.java:187) 
    at rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:91) 
    at rpc.Stub.attach(Stub.java:104) 
    at rpc.Stub.call(Stub.java:109) 
    at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:100) 

और मैं नहीं जानता कि क्या गलत है।

हां, मैंने this ध्यान से पढ़ा है।

अपडेट। ठीक। मैंने डोमेन से सर्वर हटा दिया। अब जेनकींस कहते हैं:

Connecting to 192.168.1.27 
    Checking if Java exists 
    C:\Program Files\Java\jdk1.6.0_30\bin\java.exe -version returned 1.6.0. 
    Installing the Jenkins slave service 
    Copying jenkins-slave.exe 
    Copying slave.jar 
    Copying jenkins-slave.xml 
    Registering the service 
    Starting the service 
    Waiting for the service to become ready 
    ERROR: The service did not respond. Perhaps it failed to launch?

EventViewer में मैं देख रहा हूँ:

Service cannot be started. System.ComponentModel.Win32Exception: The system cannot find the file specified 
     at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 
     at winsw.WrapperService.StartProcess(Process process, String arguments, String executable) 
     at winsw.WrapperService.OnStart(String[] _) 
     at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
+0

क्या आप वाकई जावा का उपयोग कर रहे हैं 64 बिट संस्करण है? 'जावा-वर्जन' आउटपुट क्या है? –

+0

@ एल्डडाक हां। इसका x64: 'सी: \ उपयोगकर्ता \ व्यवस्थापक> जावा-वर्जन जावा संस्करण" 1.6.0_30 " जावा (टीएम) एसई रनटाइम पर्यावरण (1.6.0_30-बी 12 का निर्माण) जावा हॉटस्पॉट (टीएम) 64-बिट सर्वर वीएम (20.5-बी03, मिश्रित मोड बनाएं) ' – Psychozoic

+1

क्या आप विन सर्वर पर कमांड लाइन से दास लॉन्च करने में सक्षम हैं? यदि हां, तो यह सेवा कार्यान्वयन से संबंधित है। मैंने पाया कि दास को मैन्युअल रूप से शुरू करना और सेवा के रूप में स्थापित करने के लिए यह पूछना मेरे लिए सबसे अच्छा काम करता है। –

उत्तर

8

मैं 2012 R2 x64 पर एक ही मुद्दा था विंडोज पर:

Installing the Jenkins slave service 
ERROR: Message not found for errorCode: 0xC00000AC 
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0xC00000AC 
    at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:102) 
    at hudson.util.jna.DotNet.isInstalled(DotNet.java:77) 
    at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:292) 
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:228) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: jcifs.smb.SmbException: All pipe instances are busy. 
    at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563) 
    at jcifs.smb.SmbTransport.send(SmbTransport.java:664) 
    at jcifs.smb.SmbSession.send(SmbSession.java:238) 
    at jcifs.smb.SmbTree.send(SmbTree.java:119) 
    at jcifs.smb.SmbFile.send(SmbFile.java:775) 
    at jcifs.smb.SmbFile.open0(SmbFile.java:989) 
    at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
    at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
    at jcifs.smb.TransactNamedPipeOutputStream.<init>(TransactNamedPipeOutputStream.java:32) 
    at jcifs.smb.SmbNamedPipe.getNamedPipeOutputStream(SmbNamedPipe.java:187) 
    at rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:91) 
    at rpc.Stub.attach(Stub.java:104) 
    at rpc.Stub.call(Stub.java:109) 
    at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:100) 
    ... 7 more 

और पता चला है, कि जेनकींस दास के रूप में एक सेवा .net 3.x स्थापित (जो नहीं है करने की आवश्यकता है चलाने के लिए Win2012 सर्वर पर डिफ़ॉल्ट रूप से)।

3.5 .नेट फ्रेमवर्क स्थापित करने के बाद जेनकिंस दास सेवा मुद्दों के बिना स्थापित हो गई (और सर्वर डोमेन में बना रहा)।

नहीं मामले में ढीला बार जब आप समस्याओं को हिट करने के लिए हैं, जबकि 3.5 ढांचा स्थापित करने के रूप में मैंने किया था इस का उल्लेख तो जवाब: Offline installer for .Net 3.5 SP1 not working (अक्षम करने WSUS मुझे स्थापना के माध्यम से प्राप्त करने के लिए मदद की)

+0

लेकिन मैं एक और त्रुटि मिली:। जांचना कि जावा मौजूद जावा -संस्करण लौटे 1.6.0 प्रतिलिपि बनाई जा रही जेनकींस-slave.xml प्रतिलिपि बनाई जा रही slave.jar सेवा सेवा के लिए प्रतीक्षा की जा रही शुरू तैयार त्रुटि बनने के लिए: सेवा ने जवाब नहीं दिया। शायद यह लॉन्च करने में असफल रहा? –

+0

मुझे पता है कि यह मूर्खतापूर्ण लग सकता है, लेकिन आपने जांच की है कि आपको Win2012 पर [जेनकिन्स पेज] पर भी क्या करना है (https://wiki.jenkins-ci.org/ प्रदर्शन/जेनकींस/विंडोज + दास + विफल + + + डीसी के माध्यम से + शुरू ओएम)? सेवा को दूरस्थ रूप से शुरू करने में सक्षम होने के लिए आपको रजिस्ट्री सेटिंग की आवश्यकता है। – peepa

+0

धन्यवाद! यह मेरी समस्या थी – Psychozoic

0

मैं किसी Windows 8 गुलाम है, जो काम करता है है। उचित कारण जावा पथ गलत है, मेरा सी पर सेट है: \ प्रोग्राम फ़ाइलें (x86) \ जावा \ jre7 \ bin \ java (हाँ, नहीं .exe या कुछ भी, केवल प्रोग्राम (x86) फ़ाइलों का हिस्सा समायोजित करें यदि आप जेनकिन्स में x64 संस्करण का उपयोग करना चाहते हैं)। मैं भी (सेल्सियस के लिए: \ जेनकींस) दूरस्थ जड़ सेट है और मैं एक वातावरण चर घर सेट करने के लिए सी है: \ जेनकींस \, लेकिन (\ और बिना दूसरे के साथ हाँ, एक है) कि केवल इंस्टॉलेशन के बाद फ़ाइलों को ढूंढना आसान बनाता है।

मेरा दास काम करता है, ऑनलाइन दिखाई देता है और फिर थोड़ी देर बाद (अधिकतर निष्क्रिय होने) कनेक्शन कनेक्शन होंगे। डिस्कनेक्टिंग और रीकनेक्टिंग कभी-कभी 'सभी पाइप इंस्टेंस व्यस्त हैं' त्रुटि देगी, उस स्थिति में मुझे बस दास एजेंट लॉन्च करना होगा। उस विशेष मुद्दे को हल करने का प्रयास करते समय अपना प्रश्न मिला ...

0

पहली बात, आप दास मशीन पर जा सकते हैं, जेनकींस पर जाएं -> प्रबंधित करें -> नोड्स प्रबंधित करें और दावे का चयन करें और जावा वेब स्टार्ट के माध्यम से लॉन्च करें।

ऐसा करके आप एक .jnlp फ़ाइल डाउनलोड करेंगे और इसे आपके द्वारा कॉन्फ़िगर किए गए जावा का उपयोग करके लॉन्च करेंगे।

सुनिश्चित करें कि आपने सिस्टम वैरिएबल "पथ" (संस्करण 1.6 या उच्चतम के साथ) में javaws.exe के लिए पथ कॉन्फ़िगर किया है।

यह एक विंडो लॉन्च करेगा और "कनेक्ट" के रूप में प्रदर्शित होगा। अब आप "फ़ाइल" पर क्लिक कर सकते हैं और सेवा के रूप में स्थापित कर सकते हैं।

यदि मशीन में .NET 3.x नहीं है तो यह आपको अपवाद दे रहा है, इसलिए सुनिश्चित करें कि आपने इसे इंस्टॉल किया है और फिर इसे फिर से प्रयास करें।

यह बिना किसी समस्या के स्पष्ट रूप से काम करता है। उम्मीद है कि यह मदद करता है।

+1

हाँ, लेकिन यह नियंत्रण को उलट देता है। अब आपको नोड्स पर जाना होगा, और पता है कि वे कौन सा मास्टर चाहते हैं। एसएसएच प्लगइन कैसे साफ करता है इसकी तुलना में यह एक भयानक समाधान है। – TechZilla

1

मैं इस मुद्दे था :

सेवा शुरू नहीं की जा सकती है। System.ComponentModel.Win32Exception: सिस्टम फ़ाइल नहीं मिल सकता है winsw.WrapperService.StartProcess (प्रक्रिया प्रक्रिया, स्ट्रिंग युक्तियों, स्ट्रिंग निष्पादन योग्य) पर System.Diagnostics.Process.StartWithCreateProcess (ProcessStartInfo startInfo) पर निर्दिष्ट winsw.WrapperService.OnStart पर (String [] _) System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback पर (वस्तु राज्य)

और समस्या दूर चला गया जब मैं से जावा निष्पादन के लिए पथ बदल दिया है: C: \ ProgramData \ ओरेकल \ जावा \ javapath \ javaw से सी: \ ProgramData \ Oracle \ Java \ javapath \ java मुझे लगता है कि 'डब्ल्यू' को जेनकिन्स द्वारा वैसे भी जोड़ा गया है।

0

मेरे लिए यह समस्या पुराने जावा को अनइंस्टॉल करके हल कर दी गई थी।

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