2013-08-10 6 views
5

वर्तमान में, मेरी टीम गिटहब से स्वचालित रूप से पुल अनुरोध बनाने के लिए टीमसिटी का उपयोग कर रही है।टीमसीटी को पुल अनुरोध बनाने से रोकने या टिप्पणी करने से रोकने के लिए कैसे करें?

हमारे पास सभी पुल अनुरोधों को बनाने के लिए एक कॉन्फ़िगरेशन है। config के संस्करण नियंत्रण सेटिंग्स में, हमारी शाखा विनिर्देश

+:refs/pull/*/merge 

"ट्रिगर बनाएँ" विन्यास की स्थापना में है, हम निम्नलिखित ट्रिगर शासन के साथ केवल एक ट्रिगर है:

+:root=Pull Requests on our Repository:\***/*\* 

"अनुरोध खींचो हमारे रिपोजिटरी पर "हमारा वीसीएस रूट नाम है।

मुद्दों:

  • जब कोई कुछ और करने के बिना GitHub वेबसाइट पर एक पुल अनुरोध देखता है, निर्माण TeamCity निर्माण एजेंट में ट्रिगर हो जाएगा। यह काफी परेशान है, क्योंकि समय-समय पर, हमारे पास एक ही पुल अनुरोध बनाने वाले कई बिल्ड एजेंट हैं (जब कई लोग इसे देखते हैं)।
  • जब कोई पुल अनुरोध पर टिप्पणी करता है, तो एक बिल्ड भी ट्रिगर किया जाएगा।

मेरे परिप्रेक्ष्य से, केवल एक बार जब मैं टीमसिटी को निर्माण शुरू करना चाहता हूं तो जब नई प्रतिबद्धता पुल अनुरोधों पर धकेलती है।

क्या ऐसा करने का कोई तरीका है?

+0

क्या यह गिटलैब के साथ किया जा सकता है? –

उत्तर

1

क्या आपके पास blog post के अनुसार TeamCity कॉन्फ़िगर किया गया है? मैं फिर गिटहब में TeamCity service hook को सक्रिय करता हूं जो कि जब भी धक्का होता है तो टीमसिटी में निर्माण को ट्रिगर करने का ख्याल रखता है। ऐसा लगता है कि मेरे लिए सही चीज है। या क्या मैं कुछ न कुछ भूल रहा हूं?

7

गिथब की refs/pull/*/merge शाखाएं हर बार शाखा की विलय योग्यता को फिर से गणना की जाती हैं, यानी गंतव्य के हर प्रतिबद्धता पर (संभवतः master) शाखा। पुल अनुरोध बंद होने पर फिर भी अपडेट किया जाता है और फिर फिर से खोल दिया जाता है। गिथूब का समर्थन कहता है कि इन शाखाओं का उद्देश्य अंतिम उपयोगकर्ताओं के उपयोग के लिए नहीं है। इस समय एकमात्र कामकाज refs/pull/*/head शाखाओं को मैन्युअल रूप से और refs/pull/*/merge शाखाओं पर मैन्युअल रूप से बनाने के लिए है।

0

उनके TeamCity's issue tracker के अनुसार, के बनाता v9.0 में तय किया गया था अनंत लूप के कारण TeamCity.GitHub प्लगइन के मुद्दे

2

मैं जानता हूँ कि इस पुरानी है, लेकिन मैं क्या हम विकल्प के रूप में मिल गया है पोस्ट करने के लिए करना चाहता था :

  • पुल अनुरोधों को ट्रिगर करने के लिए एक तंत्र के रूप में पूरी तरह से वीसीएस जड़ों का उपयोग करना बंद करें। इसके बजाय, पीआर के अपडेट होने पर केवल trigger a build via the TeamCity REST API पर किसी भी वेब ऐप को सूचित करने के लिए GitHub webhook कॉन्फ़िगर करें।

  • अपनी बिल्ड कॉन्फ़िगरेशन में, एक ऐसा चरण जोड़ें जो पीआर में क्या बदलता है। अगर कुछ भी नहीं बदला (यानी कोई नया काम नहीं जोड़ा गया था), या यदि पीआर बंद है, तो बिल्ड को रद्द करें। इसके साथ समस्या यह है कि निर्माण कतार अभी भी निर्माण के साथ आबादी होगी जिसे रद्द कर दिया जाएगा। साथ ही, आपको चेक करने के लिए बनाया गया अंतिम प्रतिबद्धता कहीं भी स्टोर करना होगा।

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

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