Apoi, blog despre teamcity

Îmi place JetBrains. Produsele lor. Este evident că programatorii pentru programatori programat. Se pare destul de darn convenabil. Și, uneori, nu mă deranjează să plătească pentru asta.

Astăzi, eu nu vorbesc despre IntelliJ IDEA, TeamCity și aproximativ. Du-te spune că la 20 de configurații a construi și până la 3 agenți este un miracol gratuit. Ceea ce, în general, pentru un proiect de dimensiuni medii, chiar suficient.

TeamCity - un instrument de integrare continuă. După cum Jenkins (care furculiță Hudson). Din păcate, Jenkins - singurul CI deschis. O să încerc să-ți spun ce un TeamCity închis poate fi mai bine.

Timp de mai mulți ani, am folosit Jenkins. Și apoi câteva luni se bucură TeamCity.

Primul lucru care se laudă JetBrains - este de a sprijini diferite sisteme de asamblare. Într-adevăr, Jenkins ne oferă sau de a construi un proiect Maven, sau a scrie un script (în Bash, Ruby, Python, orice), care va face tot ce ai nevoie.

TeamCity oferă, de asemenea, o selecție solidă de colectoare. Din același Maven și Ant, pentru a direcționa asamblarea proiectului IDEA IntelliJ, Xcode sau solyushenov Visual Studio. Integrarea cu colector nu este doar ușor configurația sa, dar „înțelegere“ din partea TeamCity construi progres, care se reflectă în timpul corect de asamblare de contabilitate, și prognoză, și vizualizare uimitoare de asamblare a revistei, cu iluminare din spate și erorile de pliere.

Apoi, blog despre teamcity

Pentru Jenkins versiune de control sistem de cod, este doar un fel de URL-ul, în cazul în care este posibil să se monitorizeze modificările și a alerga ansamblul, dacă este necesar. Ei bine, vă puteți arăta în continuare lista de comiterile care au fost puse în adunare.

TeamCity este conștient de codul mult mai mult. Lucrul cu VCS este independentă de ansambluri. TeamCity ceasuri ramuri, chiar în spatele toate ramurile, pentru care este necesar, în depozitul și păstrează o evidență a tuturor modificărilor. Puteti vedea un foarte frumos cu aspect diff. Ei bine, în cazul în care un depozit de date (și sucursale) se datorează unor proiecte, este de asemenea evident în ceea ce se bazează modificările introduse. Și invers: ce schimbări incluse în construiește.

Apoi, blog despre teamcity

Acest lucru vine din depozitele de pe serverul TeamCity, să construiască agenții nu sunt implicați aici. Se transferă sursa pentru a construi agentul poate avea loc în două moduri. Fie agentul este deja configurat copie de lucru sau clona magaziei, și TeamCity va actualiza copia de lucru la o anumită versiune a unui ansamblu. Aceasta și numai în măsură să lucreze ca Jenkins. Și nu vă puteți deranja configurația VCS pe agenții, serverul TeamCity Pentru a descărca toate codul sursă pentru agentul singur. Uneori poate fi util.

În Jenkins, cel puțin nu fără plugin-uri terțe părți, avem de-a face cu o listă fixă ​​de proiecte. Și în cel mai bun caz, putem crea noi proiecte bazate pe cele existente. Sau executați asamblarea unui alt proiect, în funcție de o altă adunare. Fiecare proiect - lista dliiinyuyuyuschy de setări: de la setările de sistem de control al versiunii într-o acțiune de după-build.

În TeamCity mai mult și mai puternic. Proiecte organizate copac, cu moștenirea completă a numeroși parametri și configurarea secțiuni întregi. Setări sisteme de control versiune și configurații a construi - separată. O configurație de asamblare colectează perfect toate ramurile de cod sursă sub observație. Ceea ce într-adevăr al naibii de convenabil. Definiți o modalitate de a construi Standart proiect, specifica care ramura de a colecta, și vă rugăm să obține cea mai recentă versiune, și artefacte de interes pentru fiecare ramură.

Apoi, blog despre teamcity

Sami configurații de asamblare pot fi create pe baza template-uri. Din nou, cu moștenirea completă. Acesta poate fi descris în Adunarea generală, cu o grămadă de opțiuni în acele locuri în care se pot schimba ceva. Un parametri de substituție poate fi, în general, oriunde, chiar și în script-urile. Și apoi, pe baza unui șablon pentru a crea deja o configurație specifică construi. TeamCity și să-l vezi că toți acești parametri au fost determinate. Și dacă ceva trebuie să fie schimbat în șablon, acesta va afecta toate create dintr-un ansamblu de șablon. Îți spun, moștenirea completă.

Jenkins poate fi considerat ca sistem de execuție de comandă la distanță. De fapt, serverul rulează numai comenzile pentru ssh pentru a construi agenți. Ei bine, atunci de pompare artefacte, rezultatele testelor, etc. Nici un software special, cu excepția ssh-server care agentul nu este necesară.

TeamCity este aranjată mai complicată. Serverul de aici este, de asemenea, o aplicație web Java. Dar există, de asemenea, agenți cu drepturi depline ca daemon / serviciile pe care trebuie să instalați și să configurați un pic. Uneori face viața dificilă în ceea ce privește orice firewall-uri și de rutare.

Strict vorbind, TeamCity nu face nimic care nu ar fi putut face Jenkins. Dar TeamCity mai ușor de configurat a construi, mai ușor de a crea ansambluri similare, a se vedea mai clar ce se întâmplă, ele sunt o placere de a utiliza. Mult mai ușor și mult mai plăcută.

articole similare