2013-07-09 9 views
9

Mam kilka projektów, które chciałbym mieć w osobnych konfiguracjach budować z nieznacznie różnych konfiguracjach:Jak ograniczyć powielanie podobnych konfiguracji kompilacji?

  • źródła VCS i budować wyzwalaczy (tj jedyną różnicą jest to, które do korzystania z projektów podkatalogu głównego katalogu)
  • kroki budowlanej (kilka pierwszych są dokładnie takie same, ale ostatnie kilka może się różnić w zależności od tego jak testy jednostkowe mają być uruchamiane, zależności itp)

to wszystko. Przyjrzałem się szablonom konfiguracji budowania, ale wydaje się, że nie pozwala to na elastyczność określania niestandardowych kroków budowania niestandardowego lub dodatkowych korzeni VCS.

Naprawdę po prostu nie chcę ręcznie kopiować (kilku) kroków kompilacji z naszej konfiguracji początkowego projektu do kilku innych konfiguracji, i zachować je wszystkie, gdy coś się zmieni. Wydaje się, że powinno być lepsze rozwiązanie?

+0

Z jakiej wersji TeamCity korzystasz? [Build Configuration Template] (http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template) działa dla mnie. –

+0

@ user1177636 Tak, myślę, że to również będzie działać dla mojej sprawy. Po prostu muszę trochę pogodzić się z parametrami. – jwalk

Odpowiedz

3

Zastanawiam się również, ale bity, które znalazłem w Internecie sugerują, że preferujesz nadmiarowość zamiast próbować ponownie użyć jednej konfiguracji w wielu oddziałach lub projektach.

Jednak wszystko to było wcześniej wersja 8 został wydany, który wprowadza możliwość wyodrębnienia meta-runner

swoim blogu from April 13, 2013 zapewnia dobre podsumowanie tego, co one są i jak różnią się one od szablonów.

Meta-biegacz

Meta Runner jest potężnym funkcja oferująca obiecujący nowy sposób dostosowywania TeamCity i czyni go jeszcze bardziej zorientowane na ludzi. Aby to zrozumieć, rozważmy przykład.

Wyobraź sobie, że masz kilka powtarzających się zadań używanych w kółko w różnych konfiguracjach kompilacji. Zadanie jest zdefiniowane jako jeden lub więcej kroków kompilacji, opartych na wbudowanych elementach biegunowych, takich jak Ant lub wiersz poleceń. Najprawdopodobniej zechcesz ponownie użyć tego zadania w kilku konfiguracjach kompilacji. Nie można tego zrobić za pomocą szablonów, ponieważ szablon wymusza udostępnianie tych samych ustawień w różnych konfiguracjach, co nie zawsze jest możliwe. Rozwiązaniem, które proponujemy, jest wyodrębnienie Meta-runnera z tych kroków, zobacz, jak działa w uwagach do wydania.

Muszę to jeszcze wdrożyć, ale wkrótce go przetestuję. To sprawia, że ​​myślę, że powinieneś być w stanie przekazać repozytorium jako parametr, ale nie jestem pewien.

+0

Dzięki za sugestię. Udało mi się uruchomić go z szablonem po drobiazgach z parametrami kompilacji, ale jeśli znajdę więcej problemów niż jest to warte, będzie to dobra alternatywa. – jwalk

+0

Niektóre przykłady meta-runnerów są dostępne na GitHub: https://github.com/JetBrains/meta-runner-power-pack –

+0

@Pavel do udostępniania! – Damon

Powiązane problemy