2008-08-22 26 views
9

CruiseControl की स्थापना करते समय, मैंने प्रकाशक कार्य करने के लिए एक buildpublisher ब्लॉक कहा:CruiseControl.Net बिल्ड प्रकाशक केवल संकलित प्रकाशित फ़ाइलों

<buildpublisher> 
    <sourceDir>C:\MyBuild\</sourceDir> 
    <publishDir>C:\MyBuildPublished\</publishDir> 
    <alwaysPublish>false</alwaysPublish> 
</buildpublisher> 

यह काम करता है, लेकिन यह प्रतियां निर्माण की पूरी फ़ाइल की सामग्री, मैं केवल डीएलएल और .aspx पृष्ठों की प्रतिलिपि बनाना चाहते हैं, मुझे प्रकाशित होने के लिए स्रोत कोड की आवश्यकता नहीं है।

क्या किसी को इसे फ़िल्टर करने का तरीका पता है, या मुझे इसके बजाय रोबो कॉपी स्क्रिप्ट चलाने के लिए कोई कार्य सेट करने की आवश्यकता है?

उत्तर

3

मैंने ऐसा करने के लिए एक कार्य स्थापित किया। मैं क्रूज़ कंट्रोल को उस विशिष्ट होने के लिए किसी भी तरह से अवगत नहीं हूं। मैं आम तौर पर सीसीनेट कार्य में प्रतिलिपि करने के लिए बैच फ़ाइल को चेन करता हूं।

0

CC.NET में डिफ़ॉल्ट बिल्ड प्रकाशक ऐसा करने का कोई तरीका प्रदान नहीं करता है। आप कुछ ही विकल्प हैं:

  • वांछित कार्यशीलता
  • एक कस्टम बनाने के लिए NAnt/MSBuild कार्य
  • उपयोग एक पटकथा तकनीक के साथ अपने स्वयं के निर्माण प्रकाशक बनाएँ (लड़ी, बैच फ़ाइल, आदि) एक बनाने के लिए स्क्रिप्ट फ़ाइल और सीएनएनईटी के लिए "निष्पादन योग्य" कार्य चलाएं, या NANT/MSBuild
1

मुझे एक वेब प्रोजेक्ट के साथ निश्चित नहीं है, लेकिन हमारे Winforms ऐप के लिए, आप इसे पकड़ सकते हैं MSBuild कार्य से TargetOutputs जैसे:

<MSBuild Projects="@(VSProjects)" 
    Properties="Configuration=$(Configuration)"> 
    <Output TaskParameter="TargetOutputs" ItemName="BuildTargetOutputs"/> 
</MSBuild> 

और फिर एक प्रति कार्य करें:

<Copy SourceFiles="@(BuildTargetOutputs)" 
    DestinationFolder="bin" 
    SkipUnchangedFiles="true" /> 

सुनिश्चित नहीं हैं कि TargetOutputs एक वेब परियोजना के लिए हैं, लेकिन WinForms और वर्ग पुस्तकालयों के लिए, यह .dll या .exe है।

0

इसके लिए एक सीसी.Net पावरहेल कार्य भी उपयोग किया जा सकता है।

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