-
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
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-17 Warszawa => Senior Software Engineer PHP (BillPro) Contractor <=
- 2024-05-17 Warszawa => International freight forwarder <=
- 2024-05-17 Warszawa => Fullastack (Java) Developer <=
- 2024-05-17 Lublin => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Senior PHP Developer (Symfony) <=