2015-01-09 17 views
9

TeamCity 8.1.4 (build 30168)Czy można określić, kiedy ma być uruchamiana funkcja kompilacji?

Zauważam, że funkcje kompilacji są zawsze uruchamiane jako pierwsza część pierwszego kroku w krokach konstrukcyjnych, ale czy możliwe jest uruchomienie funkcji kompilacji np. jako pierwsza część kroku 2? Lub jako ostatnia część kroku 1?
Każda pomoc jest doceniana!

(Jeśli jest to interesujące, to jest mój konkretny problem,
Mam meta Runner, który tworzy konkretny numer kompilacji, używam tego jako pierwszy krok w krokach kompilacji. Chcę użyć funkcji kompilacji "AssemblyInfo patcher", ale działa, zanim meta-runner wykona swoje zadanie)

+0

Jak by to krok build komunikować numer kompilacji użyć do następnego kroku/funkcji? –

+1

@ LasseV.Karlsen Używam Write-Host "## teamcity [buildNumber '$ BuildNumber']" w meta Runner. Działa to zgodnie z oczekiwaniami. Jeśli użyję niestandardowego kodu do aktualizacji assemblyinfo.cs z% system.build.number% wszystko jest w porządku. Ale nie chcę używać niestandardowego kodu. –

+0

Czy kiedykolwiek znalazłeś odpowiedź na to pytanie? Właśnie wpadłem na ten sam problem. – Bobson

Odpowiedz

3
  1. Utwórz kolejną konfigurację kompilacji, przenieś tam meta-runnera.
  2. Modyfikowanie parametrów kompilacji do report a build number przez wiadomości usług
  3. Utwórz migawkę zależność od konfiguracji kompilacji z nowym
  4. W konfiguracji z meta-runner iść do ogólnego strony, wprowadź% dep.META_RUNNER_CONFIG_ID.build. numer% do pola "numer kompilacji". Spowoduje to pobranie numeru kompilacji z zależności i ustawienie go jako numeru kompilacji. META_RUNNER_CONFIG_ID to identyfikator konfiguracji kompilacji, który zobaczysz na ogólnej stronie konfiguracji, w której został przeniesiony meta-runner.
  5. Wykorzystanie% build.number% jako zamiennik w AssemblyInfoPatcher
+0

Dziękuję, Oleg. To może być rozwiązanie, niestety nie jestem w stanie przetestować tego procesu w tej chwili i zweryfikować. Biorąc pod uwagę, że jesteś programistą JetBrains, myślę, że jest to sposób, aby to zrobić;) –

+0

Mam dwa niestandardowe kroki budowania - na to, co dzieje się przed kompilacją, i jeden, który dzieje się po udanej kompilacji, która modyfikuje parametry pierwszy krok, utrudniający (niemożliwe) podzielenie pierwszego kroku na osobną kompilację. Używam również szablonów, które nie mogą mieć zależności od innych szablonów, wymagając od użytkowników wykonania dodatkowego okablowania po wdrożeniu szablonów. Wygląda na to, że muszę ręcznie wprowadzić funkcje krytycznej kompilacji. : | –

+0

Miałem trudności ze zrozumieniem tego rozwiązania, dopóki nie natknąłem się na odpowiedzi na http://stackoverflow.com/questions/27863351/is-it-possible-to-specify-when-a-build-feature-is-to-be -biegać. – ket