Jakie są główne różnice między Jenkins a TeamCity, jeśli ktoś jest przyzwyczajony do pracy z Jenkins?


10

Narzędzia te wydają się mieć bardzo podobne cechy.

Jak skomplikowane byłoby rozpoczęcie korzystania z TeamCity po przyzwyczajeniu się do pracy z Jenkins? Czy są jakieś konkretne pojęcia, o których należy pamiętać?



3
Chciałbym polecić, aby twoje pytanie nagłówkowe pasowało nieco bliżej do pytania w ciele. Nie pytacie o wszystkie różnice, tylko o różnice, które utrudniają poruszanie się między nimi?
avi

2
Realted post na blogu: upguard.com/articles/…
Tensibai

Odpowiedzi:


8

TeamCity:

Wygląda to ładniej, jeśli jest to ważne dla twojego zespołu, to powinno zdecydowanie się ważyć. To powiedziawszy, jeśli jest to BARDZO ważne, prawdopodobnie będziesz w końcu tworzyć narzędzia lub jakąś nakładkę deski rozdzielczej, aby wesprzeć zespół, w którym momencie naprawdę chcę mieć ten z najlepszym API. Nie wypróbowałem Jenkins API, więc nie mogę porównać, choć TC API powinien zapewnić ci to, czego potrzebujesz.

Ich wsparcie jest całkiem dobre, chłopaki reagują stosunkowo szybko i są uprzejmi. Nie oznacza to jednak, że dostaniesz to, czego chcesz. Jeśli używasz systemu w niekonwencjonalny sposób, możesz bardzo dobrze umieścić swój błąd na półkach ... nam się przydarzyło. W tym momencie korzystanie z niego staje się dość frustrujące, stajesz przed czarną skrzynką, która pozostawia niewiele alternatywy niż obejście jej. W tym momencie rzeczy mogą stać się okropne i brzydkie.

Zasadniczo dość szybko można zrobić to, co chcesz, a quasi API interakcji dziennika jest bardzo fajną funkcją, jeśli wykonujesz dużo niestandardowych skryptów w swoim potoku.

Jenkins:

Testowany w bitwie i rozbudowany.

Ale jest nieco mniej ładny, nie posunąłby się nawet do stwierdzenia, że ​​jest brzydki, można powiedzieć, że funkcjonalność pojawia się przed pojawieniem się.

Jestem pewien, że możesz znaleźć prywatny płatny plan wsparcia firm zewnętrznych, jeśli się rozejrzysz. Jeśli jest to ważne dla Twojego sklepu, nie blokuj tylko części umowy „OpenSource”, społeczność jest dość ekspansywna.

Wiele, mam na myśli DUŻO wtyczek. Ponownie nie ograniczaj się tylko do oficjalnych kanałów, o wiele więcej wtyczek można znaleźć w github i innych miejscach.

Zauważyłem, że oba są równie szybkie, aby zacząć, choć w przypadku Jenkins może być konieczna bardziej dynamiczna obsługa wtyczek niż TeamCity. Więc jeśli masz napięty dział IT i nie uzyskasz dostępu administratora do serwera, może to stanowić problem. Złożony przez ich znacznie szybszy cykl wydawania niż TeamCity (co tydzień).

Odkryłem, że Jenkins obsługuje więcej paradygmatów cyklu wydawania niż TeamCity. Łatwiej może być znaleźć szablon procesu, który jest bardziej zbliżony do tego, co masz na myśli. Mówię to z rezerwami, ponieważ nie mam do czynienia z TeamCity od 2 lat.

Ja osobiście wolę Jenkinsa głównie dlatego, że jestem nastawiony na takie narzędzia, a w mniejszym stopniu, ponieważ stwierdziłem, że jego struktura i mechanizm konfiguracji są ze mną bardziej zgodne.

YMMV


Dodałbym po stronie Jenkinsa możliwość wniesienia wkładu do istniejących wtyczek lub napisania własnej dla niestandardowej funkcjonalności. wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
Dan Cornilescu

To prawda, choć to samo dotyczy również TeamCity (patrz poniżej). Jednak Jenkins umożliwia zhakowanie rdzenia, co nie jest prawdą w przypadku TeamCity. Może, ale nie musi być ważne, w zależności od dostępności postępów Java w zespole i środowiska informatycznego confluence.jetbrains.com/display/TCD9/… .
Newtopian,

6

Ogólnie wrażenia użytkownika są bardzo podobne. TeamCity ma ładniejszy interfejs użytkownika, ale nie jest szczególnie łatwy w użyciu. Pod względem funkcjonalności oba są faktycznie równoważne. Większość terminologii jest również taka sama.

Jednak ekosystemy wtyczek są dość różne; zdecydowanie powinieneś sprawdzić, jakie wtyczki są dostępne dla TeamCity, aby osiągnąć to, co próbujesz zrobić, ponieważ prawdopodobnie będzie to największy problem z punktu widzenia przejścia. Jeśli jesteś przyzwyczajony do uruchamiania niektórych wtyczek Jenkins, musisz dowiedzieć się: a) jakie funkcje zapewnia TeamCity bez żadnych potrzebnych wtyczek, oraz b) jakie wtyczki są dostępne, aby dodać pozostałe funkcje i jak różnią się od wtyczek są przyzwyczajeni w Jenkins.


4

W większości punktów zgadzam się z Adrianem. Interfejs TeamCity jest zdecydowanie ładniejszy, a dzięki TeamCity dostajesz o wiele więcej wbudowanych funkcji niż w przypadku Jenkinsa. Ale Jenkins jest oprogramowaniem typu open source i chociaż jakość (i dokumentacja) różni się znacznie w zależności od wtyczki, ekosystem jest rozległy.

Używam Jenkinsa od lat i niedawno zacząłem używać TeamCity. Na przykład konfigurowanie zależnych zadań jest o wiele prostsze i bardziej intuicyjne w Jenkins niż w TeamCity.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.