-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!
atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: tsharny <t...@w...pl>
Newsgroups: pl.comp.programming
Subject: Re: CruiseControl.NET a numer builda
Date: Thu, 23 Apr 2009 18:20:01 +0200
Organization: TP - http://www.tp.pl/
Lines: 66
Message-ID: <gsq4jq$5pc$1@atlantis.news.neostrada.pl>
References: <gsik09$o8c$1@atlantis.news.neostrada.pl>
<gskqhv$31p$1@atlantis.news.neostrada.pl>
<RmCHl.65406$8w1.56773@newsfe15.ams2>
NNTP-Posting-Host: aand196.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: atlantis.news.neostrada.pl 1240503738 5932 83.5.85.196 (23 Apr 2009 16:22:18
GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Thu, 23 Apr 2009 16:22:18 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.21 (Windows/20090302)
In-Reply-To: <RmCHl.65406$8w1.56773@newsfe15.ams2>
Xref: news-archive.icm.edu.pl pl.comp.programming:181660
[ ukryj nagłówki ]zymen pisze:
> To napisz kolego jak, innym też się przyda :-)
>
> pozdrawiam,
A proszę bardzo :)
Jako, że korzystam z CruiseControl.NET + MSBuild to całość zawarłem w
tym ostatnim.
Najpierw określam, który plik ma zostać zmodyfikowany (w którym pliku
zapisuje numer builda).
<ItemGroup>
<PlikWersjiBuilda Include="$(RootPath)\NumerBuilda.txt"/>
</ItemGroup>
Następnie robię zadanie, które będzie modyfikować ten plik:
<Target Name="ZapiszNrBuilda" DependsOn="PobierzNumerBuildaZPliku">
<CreateProperty Value="$(CCNetLabel)" Condition="'$(CCNetLabel)' !=
''">
<Output PropertyName="NumerBuildaDoZapisu"
TaskParameter="ValueSetByTask" />
</CreateProperty>
<CreateProperty Value="$(OdczytanyNumerBuilda)"
Condition="'$(CCNetLabel)' == ''">
<Output PropertyName="NumerBuildaDoZapisu"
TaskParameter="ValueSetByTask" />
</CreateProperty>
<FileUpdate Files="@(PlikWersjiBuilda)" Regex="(\d)"
ReplacementText="$(NumerBuildaDoZapisu)"/>
<Message Text="Nowy numer builda: $(NumerBuildaDoZapisu) "
Importance="High" />
<Beep/>
</Target>
<Target Name="PobierzNumerBuildaZPliku">
Tutaj odczytujemy numer builda z pliku przed modyfikacją do
$(OdczytanyNumerBuilda).
</Target>
CCNetLabel - numer builda pobierany z CruiseControl.NET - będzie
dostępny tylko podczas wykonywania integracji przez CC.NET.
OdczytanyNumerBuilda - przed wykonaniem zadania ZapiszNrBuilda jest
wykonywane zadanie PobierzNumerBuildaZPliku i zapisywany jest do tej
właściwości.
Podczas wykonywania zadania tworzony jest NumerBuildaDoZapisu.
Sprawdzany jest warunek: jeśli CCNetLabel jest pusty to pod numer builda
podstawiamy wartość wcześniej pobraną z pliku, natomiast jeśli wartość
CCNetLabel nie jest pusta to właśnie tą wartość podstawiamy jako
NumerBuildaDoZapisu. Następnie za pomocą FileUpdate ta wartość jest
zapisywana do pliku.
Sprawdzenie czy CCNetLabel nie jest puste itd. jest bardzo ważne,
ponieważ jeśli odpalimy builda na maszynie klienckiej, gdzie nie ma
środowiska do ciągłej integracji wtedy byśmy otrzymali błąd, że
CCNetLabel jest pusty i byśmy nic nie skompilowali.
Mam nadzieję, że jest to jasne i komuś się przyda :)
pozdrawiam
tsharny
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-03-31 Kraków => IT Expert (Network Systems area) <=
- 2025-03-31 Białystok => NMS System Administrator <=
- 2025-03-31 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-03-31 Sąd/Sędzia odrzuca wniosek o 30d aresztu Ziobry i jedzie po PO-Komisji Sroki [i Ziobrze w GW wersji]
- 2025-03-31 Warszawa => Sales Executive / KAM <=
- 2025-03-31 Warszawa => International Freight Forwarder <=
- 2025-03-31 Re: Państewko prawka Rumunia czyli pokaz UE leworządności - lider unieważnionych wyborów niedopuszczony do powtórki
- 2025-03-31 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Wrocław => Senior Backend Developer <=
- 2025-03-31 Białystok => Generative AI Engineer <=
- 2025-03-31 China-Kraków => Key Account Manager IT <=
- 2025-03-31 Prawne ciekawostki: Ksiądz KRK wygrał ze swoim biskupem sprawę o "naruszenie dóbr osobistych" [SN oddalił kasacje]
- 2025-03-31 Podatek od "konta wspólnego"