سؤال

وأريد إنشاء إنشاء تسمية (علامة) في SVN مع نسخة من الملف.

وأنا إعادة تسمية بالفعل قطعة أثرية عن طريق الحصول على إصدار الملف القابل للتنفيذ الرئيسي التي تنتجها الإنشاء. مثل: MyInstaller-1.2.3.1.exe. الآن أريد أن إنشاء علامة في SVN دعا /tags/1.2.3.1. لم أتمكن من العثور على طريقة لتعيين شيء من هذا القبيل في نمط العلامات.

وحاليا لي وصفها هو مجرد "٪ system.build.number٪"

وأي فكرة عن كيفية القيام بذلك؟

أنا باستخدام TeamCity المهنية النسخة 4.5.3 (بناء 9035)

هل كانت مفيدة؟

المحلول

وكما ذكر شخص ما، يمكنك الناتج رقم البنية أثناء تنفيذ البرنامج النصي بناء، وteamcity سوف تستخدم هذا الانتاج لتسمية الإنشاء. على سبيل المثال، I تسمية بلدي بناء مع نفس النسخة التي وضعت في AssemblyInfo.cs. جزء من هذا الإصدار (الكبرى والصغرى) هو في الواقع في الملف بالفعل، والجزء الآخر (بناء، مراجعة) يحصل على إضافة أثناء الإنشاء.

ومن مخطوطتي msbuild:

<Target Name="Setup">
    <!-- Version.txt contains the major and minor version numbers, 
         The build number and revision come from environment variables
         in the next step -->
    <Version VersionFile="Version.txt" BuildType="None" RevisionType="None">
        <Output TaskParameter="Major" PropertyName="Major" />
        <Output TaskParameter="Minor" PropertyName="Minor" />
    </Version>

    <!-- If you want to build a release without going through the build
         server, you should define the following 2 environment variables
         when running this build script -->

    <!-- BUILD_NUMBER environment variable supplied by the build server -->
    <CreateProperty
        Value="$(BUILD_NUMBER)">
        <Output
            TaskParameter="Value"
            PropertyName="Build" />
    </CreateProperty>

    <!-- BUILD_VCS_NUMBER environment variable supplied by the build server -->
    <CreateProperty
        Value="$(BUILD_VCS_NUMBER)">
        <Output
            TaskParameter="Value"
            PropertyName="Revision" />
    </CreateProperty>       

    <AssemblyInfo CodeLanguage="CS"  
        OutputFile="Properties\VersionInfo.cs" 
        AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)" 
        AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)" />

    <!-- Tell the build server what our actual build number is -->
    <Message Text="##teamcity[buildNumber '$(Major).$(Minor).$(Build).$(Revision)']" />
</Target>

وكنت للتو إخراج النسخة أثناء الإنشاء والشكل هو ##teamcity[buildNumber '<buildnum>']

نصائح أخرى

إذا كنت تستخدم النملة، ربما يجب عليك الحصول على SVNAnt.jar ومحاولة <لأ href = "http://www.sixfive.co.uk/index.cfm/2007/8/6/How-to- الحصول على رأس SVN-المراجعة رقم صالحة للاستخدام في ANT "يختلط =" نوفولو noreferrer "> هذا .

ووmajor.minor.svn الاتفاقية التي رأيتها لوضع العلامات (و. البناء إذا كنت تستخدم CI).

ويمكنك تضمين SVN رقم المراجعة إلى رقم البنية TeamCity الخاص بك. لديك نمط رقم البنية في Teamcity، استخدام شيء من هذا القبيل {} build.vcs.number.1 في حقل نمط رقم البنية.

وبعد هذا العدد بناء سيتضمن الفعلي رقم المراجعة SVN، ونمط وضع العلامات الخاصة بك٪ system.build.number٪ سيحتوي كذلك.

ويساعد هذا الأمل، KIR

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top