2010-11-22 5 views
13

हम सीसी/सीसी.NET के संयोजन से टीमसिटी के संयोजन से आगे बढ़ रहे हैं।विंडोज सर्वर और मैक एजेंट के साथ सर्वर चेकआउट मोड का उपयोग करते समय टीमसिटी को प्रतीकात्मक लिंक को फ़ाइलों में बदलने से कैसे रोकूं?

हमारे उत्पाद का मूल विंडोज है लेकिन हमारे पास मैक एजेंट है।

हमारे पास हमारे वीसीएस चेकआउट मोड को "सर्वर पर स्वचालित रूप से" सेट किया गया है। मतलब है कि स्रोत (विंडोज) सर्वर पर चेक आउट किया जाएगा और फिर आवश्यकतानुसार एजेंटों (मैक एजेंट समेत) में कॉपी किया जाएगा।

हमारा उत्पाद अपने यूआई के एक हिस्से के लिए BWToolkit ढांचे का उपयोग करता है। इसका मतलब है कि हम ढांचे को हमारे स्रोत नियंत्रण में संग्रहीत करते हैं।

मुद्दा यह है कि टीमसिटी सर्वर से स्रोत प्रतिलिपि फ्रेमवर्क निर्देशिका के भीतर प्रतीकात्मक लिंक को खराब करती है। इसके परिणामस्वरूप हमारे उत्पाद को बनाने में असफल रहा (error: BWToolkitFramework/BWToolkitFramework.h: No such file or directory)।

total 24 
lrwxr-xr-x 1 myuser admin 35 Nov 22 10:45 BWToolkitFramework -> Versions/Current/BWToolkitFramework 
lrwxr-xr-x 1 myuser admin 24 Nov 22 10:45 Headers -> Versions/Current/Headers 
lrwxr-xr-x 1 myuser admin 26 Nov 22 10:45 Resources -> Versions/Current/Resources 
drwxr-xr-x 5 myuser admin 170 Nov 22 10:45 Versions 

और यह कि यह कैसे निर्माण मशीन पर दिखाई देता है::

total 24 
-rwxrwxr-- 1 root admin 40 Nov 19 16:21 BWToolkitFramework 
-rwxrwxr-- 1 root admin 29 Nov 19 16:21 Headers 
-rwxrwxr-- 1 root admin 31 Nov 19 16:21 Resources 
drwxrwxr-- 4 root admin 136 Nov 19 16:21 Versions 

इसके अलावा बजाय प्रदर्शित होने

यह कैसे जड़ ढांचा निर्देशिका के अंदर से एक ls -l मेरी मशीन पर दिखता है बिल्ड मशीन (आइकन पर छोटे तीर ओवरले) पर लिंक के रूप में वे यूनिक्स निष्पादन योग्य आइकन वाली फ़ाइलों के रूप में दिखाई देते हैं।

link Versions/Current/BWToolkitFramework 

यह TeamCity में सर्वर चेकआउट विकल्प के साथ एक मुद्दा हो सकता है क्योंकि CruiseControl है प्रकट होता है: यदि आप इन फ़ाइलों कि एक लिंक होना चाहिए में से एक को खोलते हैं तो आपको निम्न (इस BWToolkitFramework लिंक से) के लिए इसी तरह कुछ पाने एक ही मशीन पर चल रहा है जो सीधे एसवीएन चेकआउट कर रहा है और मुझे कोई समस्या नहीं है।

क्या क्लाइंट विकल्प पर एसवीएन चेकआउट का उपयोग करने के लिए हमारी टीमसिटी कॉन्फ़िगरेशन को बदलने के अलावा इसे ठीक करने का कोई तरीका है?

उत्तर

13

मैंने आधिकारिक प्रतिक्रिया/फिक्स की उम्मीद में इस मुद्दे को TW-14499 के रूप में दायर किया।

इसे TW-5953 Symlinks are not supported for SVN server-side checkout के डुप्लिकेट के रूप में चिह्नित किया गया था, इसलिए यह एक ज्ञात मुद्दा है जो लगभग 2 वर्षों तक खुला है। यदि कोई और इसमें चलता है तो कृपया इस मुद्दे पर वोट/टिप्पणी करने की उम्मीद है कि यह तय हो जाएगा।

+1

हमें निश्चित रूप से वहां अधिक वोट चाहिए ... –

4

इस एक (बस यह है Git) के समान: http://youtrack.jetbrains.com/issue/TW-12648

मेरे मामले में यह SVN के साथ काम किया जब बजाय सर्वर एजेंट पर बाहर की जाँच। आप इसे संस्करण नियंत्रण सेटिंग्स पर बिल्ड कॉन्फ़िगरेशन में बदल सकते हैं।

2

यहाँ मेरी परिदृश्य है:

  • मैं सर्वर साइड चेकआउट उपयोग करने के लिए
  • मैं Git

उपयोग कर रहा हूँ के बाद से TeamCity जगह में यह सुधार नहीं है की जरूरत है, मैं एक आदेश बनाया मेरे स्रोतों के बाद निम्नलिखित स्रोतों के साथ अद्यतन करने के लिए लाइन स्क्रिप्ट ठीक है:

rm /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Headers 
rm /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Resources 

ln -s /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Versions/A/Headers  /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Headers 
ln -s /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Versions/A/Resources  /Git/MyLibrary/External/FacebookSDK/FacebookSDK.framework/Resources 

यह स्क्रिप्ट मेरे मैक सर्वर पर प्रतीकात्मक लिंक पुनर्निर्माण कर रही है।

6

जाहिर है, jgit ने इसे 12/4/2014 तक तय कर दिया है, इसलिए टीमसिटी अंततः इसे ठीक करेगी। गिट चेकआउट के लिए क्लाइंट साइड एजेंट का उपयोग करने के लिए टीसी को बताना है। enter image description here

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