2017-11-09 32 views
6

मैं एक निम्न जेनकींस नौकरी परिभाषा है:जेनकींस काम बिल्डर gitlab ट्रिगर नजरअंदाज कर दिया है

- scm: 
    name: some-project 
    scm: 
    - git: 
     url: [email protected]****/some-project.git 
     credentials-id: some-ssh-username-with-private-key 
     branches: 
     - origin/master 
- project: 
    name: some-project 
    jobs: 
     - '{name}': 
     triggers: 
      gitlab: 
      trigger-push: true 
      trigger-merge-request: false 
      trigger-open-merge-request-push: never 

अब यह काम बिना किसी त्रुटि के जेनकींस पर अपलोड किया जा सकता है, लेकिन अगर मैं जेनकींस वेब UI में some-project की Configure पृष्ठ पर जाएँ, मैं Build when a change is pushed to GitLabट्रिगर्स अनुभाग में सक्षम नहीं है देख सकते हैं। गिटलैब रेपो सही तरीके से कॉन्फ़िगर हो जाता है - स्रोत कोड प्रबंधन इस नौकरी के अनुभाग में [email protected]****/some-project.gitsome-ssh-username-with-private-key प्रमाण-पत्र और शाखा origin/master कॉन्फ़िगर किया गया है। लेकिन काम करने वाले ट्रिगर्स के बिना यह बेकार है।

मैं क्या गलत कर रहा हूं?

कृपया ध्यान दें कि मैं जेनकिब नौकरी को ट्रिगर करने के लिए गिटलैब वेबहुक को कॉन्फ़िगर करने के तरीके से नहीं पूछ रहा हूं। मैं इसे मैन्युअल रूप से कर सकता हूं और यह ठीक काम करता है। लेकिन हम जेनकिंस जॉब बिल्डर के साथ वेब जेआई के माध्यम से उन्हें कॉन्फ़िगर करने की त्रुटि प्रवण प्रक्रिया से बचने के लिए और जॉब कॉन्फ़िगरेशन में परिवर्तनों का ट्रैक रखने के लिए हमारी जेनकींस नौकरियों का प्रबंधन करना चाहते हैं - हम जेनकींस जॉब परिभाषाओं के साथ गिट रिपोजिटरी बना रहे हैं।

उत्तर

4

मैं तुम्हें नहीं बल्कि /project/jobs के तहत की तुलना में खुद को job में triggers डाल करने के लिए, आवश्यकता हो सकती है पर शक।

project कुंजी के तहत ट्रिगर्स के साथ, मुझे आपके द्वारा किए गए वही लक्षण का अनुभव होता है। जेनकिन्स में मेरे कोई भी ट्रिगर्स नहीं बनते हैं। triggers अनुभाग को job में स्थानांतरित करने से मेरे लिए समस्या ठीक हो जाती है।

यह YAML एक जेनकींस काम का निर्माण करेगा बुलाया builder-test "का निर्माण जब एक परिवर्तन GitLab को धक्का दे" बॉक्स के साथ की जाँच:

- scm: 
    name: gitlab 
    scm: 
     - git: 
      url: https://gitlab.com/user/repo-name.git 
      branches: 
      - origin/master 
- job: 
    name: builder-test 
    project-type: freestyle 
    description: "builder-test desc" 
    scm: 
     - gitlab    
    triggers: 
     - gitlab: 
      trigger-push: true 
- project: 
    name: builder-test-project 
    jobs: 
     - 'builder-test' 

GitLab प्लगइन 1.5.1 और JJB 1.6 का उपयोग कर जेनकींस 2.32.3 पर परीक्षण किया गया .2

3

आपके प्रश्न में आपने कहा है कि Build when a change is pushed to GitLab विकल्प "सक्षम नहीं है"। कॉन्फ़िगरेशन पृष्ठ पर जेनकिंस ड्रॉप डाउन सूचियों में विकल्प अक्षम कर देंगे जब मौजूदा विकल्प कॉन्फ़िगरेशन में उन विकल्पों का चयन पहले से ही किया जा रहा है (यानी उपयोग किया जा रहा है)।

trigger-push: true विकल्प शायद आपके मामले में यह चल रहा है।

क्या आप कह रहे हैं कि गिटलैब भंडार में परिवर्तनों को धक्का दिए जाने पर आपका काम वास्तव में नहीं बनाया जा रहा है?

अपने स्पष्टीकरण के बाद:

संस्करणों 1.1.26 और बाद के लिए एक पूर्ण उदाहरण here नहीं है।

triggers: 
    - gitlab: 
     trigger-push: false 
     trigger-merge-request: false 
     trigger-open-merge-request-push: both 
     ci-skip: false 
     set-build-description: false 
     add-note-merge-request: false 
     add-vote-merge-request: false 
     add-ci-message: true 
     allow-all-branches: true 
     include-branches: 
     - 'master' 
     - 'master2' 
     - 'local-test' 
     exclude-branches: 
     - 'broken-test' 
     - 'master-foo' 

क्या आपका कोड शाखाओं को शामिल करने के लिए शामिल करता है?

+0

मेरा मतलब है कि चेकबॉक्स चेक नहीं किया गया है। मैं जेनकींस से परिचित हूं और मैंने पूरे खंड का विस्तार किया। ट्रिगर को कॉन्फ़िगर नहीं किया गया है। सवाल जेनकींस वेब यूआई के उपयोग के बारे में नहीं है, लेकिन जेनकींस जॉब बिल्डर के बारे में है। मैं वेब यूआई में जो देखता हूं वह सिर्फ एक लक्षण है। और तुम सही हो गिटलैब को धक्का देने पर नौकरी नहीं बनाई जा रही है। मुझे पता है कि मुझे जॉब बिल्डर वाईएएमएल परिभाषा में गलती करनी होगी। सवाल यह है कि गलती क्या है। – ElmoVanKielmo

+0

ने मेरा उत्तर अपडेट किया है –

+0

मुझे समझ में आया कि शाखाएं निर्दिष्ट करना वैकल्पिक है। इसकी एक बार कोशिश करूंगा। – ElmoVanKielmo

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