2009-03-14 6 views
8

क्या buildbot प्लगइन है जो वर्तमान में changes.SVNPoller जैसे नए कामों के लिए एक गिट रिपोजिटरी मतदान करेगा?क्या बिल्डबॉट ने नए कामों के लिए एक गिट रिपोजिटरी मतदान किया है?

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

मैं वर्तमान में एक निर्माण रन एक बार एक घंटे है, लेकिन जब तक कुछ बदल गया है परीक्षण चलाने में किसी भी बिंदु वास्तव में नहीं है ..

उत्तर

9

अद्यतन: बिल्डबॉट प्रोजेक्ट के प्रकार के लोगों ने गिटपोलर को संस्करण 0.8.2 के रूप में आधिकारिक परिवर्तन स्रोत बनाया है, और मूल में कई सुधार किए हैं।


हमारी कंपनी ऐसी ही स्थिति में है जहां हमारी बिल्ड मशीनों को गिटहब के पोस्ट-प्रतिबद्ध हुक द्वारा नहीं पहुंचा जा सकता है। मैंने GitPoller परिवर्तन स्रोत लिखा है जिसका उपयोग SVNPoller जैसा किया जा सकता है।

यह यहां पाया जा सकता है: http://github.com/wimba/buildbot/blob/master/buildbot/changes/gitpoller.py

और इस्तेमाल इस तरह:

from buildbot.changes.gitpoller import GitPoller 
c['change_source'] = GitPoller('[email protected]:foobaz/myrepo.git', 
           branch='great_new_feature') 

यह की (स्थान विन्यास) बाहर काम करने के लिए एक स्थानीय रेपो पैदा करेगा, और यह केवल इसलिए git 1.7 साथ परीक्षण किया गया है आपकी माइलेज भिन्न हो सकती है।

उम्मीद है कि यह Buildbot परियोजना कुछ बिंदु पर उचित में खींच लिया जाएगा, लेकिन यह कम से अब तक हमारे लिए काम कर रहा है और उम्मीद है कि यह दूसरों :)

1

मैं बिल्कुल buildbot साथ नहीं खेला है, लेकिन यदि आप एक नहीं कर सका git fetch और फिर git log master..origin/master के आउटपुट को देखें? यदि कोई नया काम नहीं है तो आउटपुट खाली होगा (निश्चित रूप से, git log पर अन्य विकल्पों का एक टन आप उपयोग कर सकते हैं)। यदि नए काम हैं तो बस git merge करें और अपना निर्माण/परीक्षण चक्र शुरू करें।

0

काम का हो सकता है मैं gitpoller.py दृष्टिकोण पसंद है, लेकिन जिस क्षण मैंने इसे थोड़ा सीमित पाया (उदाहरण के लिए संशोधन, परियोजना तर्क नहीं भेजते हैं) इसलिए एक अलग समाधान मिला:

मेरे पास रिमोट और git_buildbot.py से क्लोज़ किया गया है जो पोस्ट-मर्ज हुक (git_buildbot.py में वर्णित)। मेरे पास एक छोटा सा लूप सो रहा है और उस रेपो में गिट खींच रहा है जो पोस्ट-मर्ज हुक को ट्रिगर करेगा।

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