2016-07-19 7 views
23

मैं this tutorial पीछा कर रहा था:प्रमाणपत्र जेनकिन्स पाइपलाइन गिट एससीएम प्रमाण पत्र के साथ?

node { 
    git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git' 
    ... 
} 

हालांकि यह साख को जोड़ने का तरीका नहीं बताता है। जेनकींस में विशिष्ट "प्रमाण-पत्र" अनुभाग होते हैं जहां आप उपयोगकर्ता उपयोगकर्ता & पास को परिभाषित करते हैं, और उसके बाद नौकरियों में उपयोग करने के लिए आईडी प्राप्त करते हैं, लेकिन मैं इसे पाइपलाइन निर्देशों में कैसे उपयोग करूं?

मैं के साथ की कोशिश की:

git([url: '[email protected]:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455']) 

कोई भाग्य:

stderr: Host key verification failed. 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

वहाँ एक रास्ता पाइप लाइन में creds कॉन्फ़िगर करें, या मैं Jenkin के लिनक्स उपयोगकर्ता के .ssh को SSH कुंजी डाल करने की क्या ज़रूरत है है/अधिकृत_की फाइल?

आदर्श दुनिया में मैं पाइपलाइन नौकरियों और रेपो-चाबियों के लिए एक भंडार रखना चाहता हूं, फिर डॉकर जेनकींस लॉन्च करना चाहता हूं, और जेनकींस कंसोल में कुछ भी कॉन्फ़िगर किए बिना गतिशील रूप से इन नौकरियों और कुंजियों को जोड़ना चाहता हूं।

उत्तर

48

आप एक पाइप लाइन में निम्न का उपयोग कर सकते हैं:

git branch: 'master', 
    credentialsId: '12345-1234-4696-af25-123455', 
    url: 'ssh://[email protected]:company/repo.git' 

आप ssh यूआरएल अपने क्रेडेंशियल्स का उपयोग कर रहे हैं तो उपयोगकर्ता नाम + निजी कुंजी होना चाहिए। यदि आप एसएसएच के बजाय https क्लोन यूआरएल का उपयोग कर रहे हैं, तो आपके क्रेडेंशियल उपयोगकर्ता नाम + पासवर्ड होना चाहिए।

+0

यह तय किया गया, धन्यवाद। मुझे पता नहीं था कि एसएसएच-यूआरएल और एचटीटीपीएस-यूआरएल के साथ काम करने के लिए विभिन्न प्रमाण-पत्रों की आवश्यकता है! – Render

+1

यह सहायक था, लेकिन 'credentsId' आईडी से आता है [' /var/lib/jenkins/credentials.xml'](httpsoverstow.com/a/35603191/432903) क्योंकि मुझे इसे समझने के लिए संघर्ष करना पड़ा बाहर। – prayagupd

+4

@prayagupd, आपको क्रेडेंशियल पेज ('http: // yourjenkinsinstall/credentials') से क्रेडेंशियल आईडी प्राप्त करने में सक्षम होना चाहिए। कॉन्फ़िगरेशन फ़ाइलों को trawl करने की कोई ज़रूरत नहीं है। –

5

आप ssh क्रेडेंशियल्स का उपयोग करना चाहते हैं,

git(
     url: '[email protected]<repo_name>.git', 
     credentialsId: 'xpc', 
     branch: '${branch}' 
    ) 

आप यूज़रनेम और पासवर्ड क्रेडेंशियल्स का उपयोग करना चाहते हैं, आप http क्लोन का उपयोग करने के रूप में उल्लेख किया @Serban की जरूरत है।

git(
     url: 'https://github.com/<repo_name>.git', 
     credentialsId: 'xpc', 
     branch: '${branch}' 
    ) 
संबंधित मुद्दे