github - ट्रैविस-सीआई को पुल अनुरोधों को कैसे कॉन्फ़िगर करें और मास्टर डब्ल्यू/ओ अतिरेक में विलय करें




travis-ci pull-request (3)

इसे "BDD" शब्दों में रखना:

पृष्ठभूमि:
यह देखते हुए कि मैं GH रेपो में योगदान दे रहा हूं

जब मैं एक पुल अनुरोध बनाता हूं
फिर ट्रैविस को नवीनतम प्रतिबद्ध का निर्माण करना चाहिए

जब मैं एक मौजूदा पुल अनुरोध पर धक्का देता हूं
फिर ट्रैविस को नवीनतम प्रतिबद्ध का निर्माण करना चाहिए

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

मैं ट्रैविस-सीआई के "बिल्ड पुश्स" और "बिल्ड पीआरएस" सेटिंग्स से उलझन में था, जैसे:

  • ट्रैविस द्वारा दो बार बनाए जाने वाले प्रत्येक पुल अनुरोध को सक्षम करने का कारण बनता है
    • एक बार उस ब्रांच पर कमिटमेंट के लिए
    • और एक बार फिर से उस शाखा की मर्ज कमिटमेंट के लिए अपने गंतव्य में चला जाएगा
  • सिर्फ "बिल्ड पीआर" को सक्षम करने से पीआर का निर्माण होता है, लेकिन पोस्ट-मर्ज बिल्ड (यानी मास्टर पर) में परिणाम नहीं होता है।
  • "पुश" को सक्षम करना जानवर-बल रेपो को सभी धक्का देकर उपरोक्त मानदंडों को पूरा करता है। आप श्वेत और श्याम-लिस्टिंग शाखाओं द्वारा चीजों को परिचालित करने की कोशिश कर सकते हैं, लेकिन यह तब तक आपको काटेगा जब तक आप शाखा नामों के साथ सख्ती से अनुशासित नहीं होंगे।

ट्रैविस-सीआई डॉक्स और जीएच अंक # 3241 में इसे और अधिक समझाया गया है।

किसी कॉन्फ़िगरेशन को जानते हैं जो उपरोक्त मानदंडों को संतुष्ट करता है?


बस ट्रैविस डॉक्स में पाया गया

.Travis.yml में जोड़ें

if: type = push

वैकल्पिक रूप से:

if: type = pull_request

मुझे अंततः एक और GH मुद्दा ( #2111 ) मिला जिसने मुझे पीआर और पुश दोनों को सक्षम करने का प्रयास करने का विचार दिया, लेकिन एक विशिष्ट शाखा में पुश को प्रतिबंधित करने के लिए एक श्वेतसूची के साथ। यह मेरे वर्कफ़्लो के मानदंड को पूरा करने के लिए लगता है। यहाँ मैंने क्या किया है:

  1. रेपो के लिए ट्रैविस सेटिंग्स में पीआर और शाखा दोनों को सक्षम करें:

  1. बदलें .travis.yml को व्हाइट-लिस्ट master ब्रांच (यानी केवल मास्टर को पुश बनाएँ):
branches:
  only: 
    - master
  1. एक .travis.yml परिवर्तन के साथ एक पीआर बनाकर इसका परीक्षण करें, और कुछ खाली के साथ एक अन्य पीआर यह सत्यापित करने के लिए भी काम करता है

  2. मास्टर से सफल मर्ज कम बिल्ड का सत्यापन करें।


स्वीकृत उत्तर में वर्णित श्वेतसूची दृष्टिकोण में कुछ महत्वपूर्ण सीमाएँ हैं। विशेष रूप से, यह बिना पीआर को खोले गैर-निरर्थक रूप से मनमानी शाखाओं के निर्माण का समर्थन नहीं करता है।

मैंने बेहतर समाधान के लिए एक मुद्दा खोला।





pull-request