W jaki sposób ręcznie wyzwoliłbyś dodatkowe kompilacje zespołów z kompilacji zespołu? Na przykład, kiedy byliśmy w CC.Net, inne kompilacje uruchamiałyby, gdyby pewne kompilacje zakończyły się powodzeniem. Druga kompilacja może być projektami, które używają tego składnika lub dodatkowych, długotrwałych bibliotek testowych dla tego samego komponentu.Ręczne wyzwalanie zespołu TFS Budowanie
Odpowiedz
Jednym ze sposobów, w jaki można to zrobić, może być cel AfterEndToEndIteration do pliku TFSBuild.proj, który uruchamia linię poleceń TfsBuild.exe, aby uruchomić inne kompilacje. Myślę, że coś takiego (choć jej nie testowane)
<Target Name="AfterEndToEndIteration">
<GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Condition=" '$(IsDesktopBuild)' != 'true' ">
<Output TaskParameter="Status" PropertyName="Status" />
</GetBuildProperties>
<Exec Condition=" '$(Status)'=='Succeeded' "
Command="TfsBuild.exe start /server:$(TeamFoundationServerUrl) /buildDefinition:"Your Build Definition To Run"" />
</Target>
Robiłem to samo Martin zasugerował na wielu okazjach (jego blog jest bardzo pomocny, BTW). Jednak w końcu musiałem wyzwolić kaskadujące kompilacje w ten sposób (na podstawie innych skomplikowanych reguł) na tyle, że utworzyłem niestandardowe zadanie, aby to zrobić. Zachowaj dobre i szczupłe skrypty budujące i zapewniaj więcej elastyczności i możliwości enkapsulacji.
public override bool Execute()
{
IBuildDefinition[] buildDefinitions = BuildServer.QueryBuildDefinitions(ProjectName);
foreach (IBuildDefinition build in buildDefinitions)
{
if(build.Enabled) //I did a bunch of custom rules here
{
Log.LogMessage(String.Concat("Queuing build: ", build.Name));
BuildServer.QueueBuild(build);
}
}
return true;
}
Jest kilka dobrych rzeczy na blogu Aaron HALLBERG zbytnio:
http://blogs.msdn.com/aaronhallberg/archive/2007/04/24/team-build-object-model-queueing-a-build.aspx
- 1. Datepicker Jquery - ręczne wyzwalanie
- 2. zespołu Budowanie z wielu projektów zespołu
- 3. Ręczne wyzwalanie zmian właściwości w ember.js
- 4. Budowanie Tfs nie powiodło się
- 5. Ręczne wyzwalanie klawiatury iPhone'a/iPada/iPoda z JavaScript
- 6. Ręczne wyzwalanie sprawdzania poprawności html5 na przycisku kliknij
- 7. Budowanie zespołu: Nie można znaleźć wygenerowanego prywatnego akcesora
- 8. Nie można znaleźć przestrzeni nazw - budowanie przy użyciu TFS
- 9. Jaka jest najszybsza metoda pobierania projektów zespołu TFS za pomocą interfejsu API TFS SDK?
- 10. Zestaw puli aplikacji z MSDeploy i TFS 2010
- 11. Wiersze kodu w serwerze podstawowym zespołu
- 12. Konstrukcja zespołu ignoruje argumenty MSBuilda
- 13. Wyzwalanie jQuery Validation ręcznie?
- 14. Programowe wyzwalanie zdarzenia?
- 15. Bigcommerce Webhook Nie Wyzwalanie
- 16. Cmake install target wyzwalanie
- 17. Wyzwalanie $ (okno) .scroll();
- 18. Wyzwalanie domyślnej akcji zdarzenia
- 19. Jenkins - wyzwalanie sparametryzowanej kompilacji
- 20. d3 - wyzwalanie zdarzenia mouseover
- 21. Android: wyzwalanie onCreateOptionsMenu
- 22. StateChangeStart wyzwalanie wiele razy
- 23. Wyzwalanie upstream projekt buduje przed dalszego projektu
- 24. Awaria zespołu TeamCity
- 25. Jaka jest różnica między zespołem TFS a grupą TFS?
- 26. Jak wymusić ręczne scalanie w eksploratorze kontroli kodu źródłowego TFS 2012?
- 27. TFS Aktualny adres URL sprintu
- 28. Budowanie systemu Android openssl przy użyciu NDK nie powoduje poprawnego utworzenia plików zespołu arm4
- 29. TFS do konserwacji wersji
- 30. Numer kompilacji Format w TFS