2014-05-23 8 views
8

में बदलावों पर एक टीमसिटी निर्माण को ट्रिगर करें गिट सबमिशन में परिवर्तनों पर निर्माण शुरू करने के लिए TeamCity ट्रिगर कैसे सेट करें?एक गिट सबमिशन

वर्तमान में आपको मुख्य भंडार में निर्माण को ट्रिगर करने के लिए एक सबमिशन प्रतिबद्ध पॉइंटर अपडेट करना होगा, ताकि टीसी मुख्य भंडार में परिवर्तन पंजीकृत करे।

अद्यतन

समस्या submodule हमेशा एक शाखा मास्टर ट्रैक किया जाना चाहिए है। AFAIK यह गिट के माध्यम से हासिल नहीं किया जा सकता है। मैं सिर्फ उस मामले में गिट सीमा को दूर करने के लिए निर्माण करना चाहता हूं।

उत्तर

1

ऐसा करना संभव नहीं है क्योंकि टीमसिटी (और गिट) यह नहीं जान सकता कि कोई अपडेट है। एक रेपो में सबमोड्यूल एंट्री सिर्फ एक प्रतिबद्धता को इंगित करता है।

इसके लिए एक अपडेट क्या होगा? इस प्रतिबद्धता से कई शाखाएं हो सकती हैं और काम करती हैं। केवल आप यह तय कर सकते हैं कि सबमिशन को अपडेट किया जाना है।

+0

कैसे [गिट सबमिशन ट्रैकिंग नवीनतम] (http://stackoverflow.com/questions/9189575/git-submodule-tracking-latest), क्या यह शाखा की जानकारी की आपूर्ति नहीं कर रहा है? –

1

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

नीचे की रेखा है, मैं नहीं चाहता कि टीमसिटी कुछ ऐसा निर्माण करे जो मैं स्रोत से पुन: उत्पन्न नहीं कर सकता, यानी मास्टर रिपॉजिटरी को क्लोन करना वास्तव में टीमसिटी का निर्माण नहीं करेगा।

+1

क्षमा करें, एक राय नहीं मांग रहा था, मैं हाथ में काम को हल करने की तलाश में हूं। –

+1

पर्याप्त मेला, लेकिन मैं केवल समस्या क्षेत्र को सत्यापित करने की कोशिश कर रहा था। क्या आपने सबमिशन में दूसरी वीसीएस रूट स्थापित करने और उस से ट्रिगर करने की कोशिश की है? एक विचार है। – SteveChapman

+0

मैंने उस विचार को छोड़ दिया, क्योंकि केवल एक वीसीएस ट्रिगर हो सकता है, लेकिन ईमानदार होने के लिए मैंने यह जांच नहीं की कि क्या एकाधिक वीसीएस जड़ें हैं और एक ट्रिगर चाल कर सकता है। मैं उस पर काम करता हूँ। –

2

यह एक साफ समाधान नहीं है लेकिन सबमिशन की नोक के साथ एक परियोजना बनाने के लिए एक लक्ष्य प्राप्त है, और हाथ से सबमिशन अपडेट करने की आवश्यकता नहीं है। (एक हुक शायद

मुख्य रिपो के रूप में सबमिशन के साथ एक अलग बिल्ड कॉन्फ़िगरेशन बनाएं, और एक मैस्ट-रेपो क्लोन करने के लिए एक कमांड लाइन बिल्ड चरण सेट करें, सबमिशन को खींचें/अपडेट करें और अद्यतन सबमिशन को दबाएं मास्टर-रेपो को वापस पॉइंटर।

rm -r master-repo 
git clone [email protected]:xxx/master-repo.git 
cd master-repo 
git status 
git submodule update --init 
git config -f .gitmodules submodule.submodule-repo.branch master 
cd submodule-repo 
git pull origin master 
git status 
cd .. 
git add submodule-repo 
git commit -m "sub module update" 
git push origin master 

मैं गिट करने के लिए नया हूं इसलिए इसे शायद अनुकूलित किया जा सके।

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