Frage

Ich mag mit einer Datei Version ein Etikett (Tag) im SVN erstellen erstellen.

Ich bin Umbenennung bereits das Artefakt durch die Dateiversion der ausführbaren Haupt vom Build erzeugt bekommen. Wie zum Beispiel: MyInstaller-1.2.3.1.exe. Jetzt möchte ich einen Tag im SVN genannt /tags/1.2.3.1 erstellen. Ich kann nicht einen Weg finden, so etwas in den Markierungsmustern zu setzen.

Zur Zeit meiner Kennzeichnung ist nur "% system.build.number%"

Jede Idee, wie dies zu tun?

Ich benutze Teamcity Professional Version 4.5.3 (Build 9035)

War es hilfreich?

Lösung

Als jemand erwähnt, können Sie die Ausgabe der Build-Nummer während der Ausführung des Build-Skript, und Teamcity wird diese Ausgabe verwenden, um die Build zu beschriften. Zum Beispiel, beschrifte ich meine Build mit der gleichen Version, die ich in AssemblyInfo.cs setzen. Ein Teil dieser Version (Dur, Moll) ist eigentlich in der Datei bereits, der andere Teil (Build, Revision) wird während des Build hinzugefügt.

Aus meiner msbuild Skript:

<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>

Sie gerade Ausgabe der Version während des Build das Format ##teamcity[buildNumber '<buildnum>']

ist

Andere Tipps

Wenn Sie Ant verwenden, sollten Sie vielleicht SVNAnt.jar und versuchen, diese .

Die Konvention, die ich für die Markierung gesehen habe ist major.minor.svn (und .build wenn Sie CI verwenden).

Sie können SVN-Revisionsnummer zu Ihrer Teamcity Build-Nummer enthalten. Für Ihre Build-Nummer Muster in Teamcity, verwenden Sie so etwas wie {build.vcs.number.1} in dem Build-Nummer Musterfeld.

Nach dieser Build-Nummer wird die tatsächliche SVN-Revisionsnummer enthalten, und Ihre Markierungsmuster% system.build.number% wird es auch enthalten.

Hope, das hilft, KIR

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top