Jenkins vs Travis-CI: Vad är skillnaden?

Innehållsförteckning:

Anonim

Vad är CI?

Kontinuerlig integration är en mjukvaruutvecklingsmetod där medlemmar i teamet kan integrera sitt arbete minst en gång om dagen. I den här metoden kontrolleras varje integration av en automatiserad version för att söka i felet. CI-konceptet introducerades först för över två decennier sedan för att undvika "integrationshelvete", vilket händer när integration skjuts upp till slutet av ett projekt.

I den här handledningen lär du dig

  • Vad är CI?
  • Vad är Travis CI?
  • Vad är Jenkins?
  • Vad gör Travis?
  • Vad gjorde Jenkin?
  • Travis CI-funktioner:
  • Jenkins funktioner:
  • Travis vs. Jenkins
  • Popularitetsindex
  • Vilket är bättre?

Hur CI fungerar?

  • Utvecklare skriver kod och gör ändringar i det delade arkivet
  • Därefter övervakar CI-servern förvaret och utvärderar alla ändringar
  • CI bygger systemet och genomför integrationstester
  • Servern släpper ut distribuerbara artefakter
  • Den kontinuerliga integrationsservern tilldelar en byggtagg till versionen och byggnadskoden
  • Sedan rapporterar CI-servern teamet om den framgångsrika byggnaden. Om testerna misslyckas varnar servern om händelsen till utvecklingsteamet. Teamet kommer att lösa problemen så snabbt som möjligt.

NYCKELSKILL

  • Travis CI är ett kommersiellt CI-verktyg medan Jenkins är ett open source-verktyg.
  • Travis CI tar mycket kortare tid att komma igång medan Jenkins behöver detaljerad installation.
  • Travis CI erbjuder mindre anpassningsalternativ medan Jenkins erbjuder stora anpassningsalternativ.
  • Travis CI har en YAML-konfigurationsfil medan Jenkins ger ett fullständigt konfigurationsalternativ för användaren.

Vad är Travis CI?

Travis CI var det första CI som ett serviceverktyg. Det introducerade ett nytt tillvägagångssätt för att bygga kod i molnet. Detta CI-verktyg gör det möjligt för användaren att registrera sig, länka sitt förvar, bygga och testa sina appar.

Travis CI-verktyget kan enkelt integreras med vanliga molnförvar som GitHub och Bitbucket. Det erbjuder många automatiserade CI-alternativ som minskar behovet av en dedikerad server eftersom Travis CI-servern är värd i molnet. Detta gör att du kan testa i olika miljöer, på olika maskiner, som körs på olika operativsystem.

Travis CI är gratis för projekt med öppen källkod. För kommersiella projekt måste du köpa en företagsplan.

Vad är Jenkins?

Jenkins är ett prisbelönt kontinuerligt integrationsverktyg som övervakar körningar av distributionscykler. Det började som ett sidoprojekt av Suns mjukvaruutvecklare. Senare utökades det som ett av de populära CI-verktygen med öppen källkod som hjälper programvaruutvecklingsteam att automatisera sina distributioner.

Jenkins är ett Java-baserat verktyg, vilket innebär att du bara behöver Java Runtime Environment för att använda det. Därför kan Jenkins installeras på vilket operativsystem som helst där Java körs.

I det här verktyget kan utvecklare också ange villkor för anpassade byggnader. Jenkins stöder ett massivt pluginarkiv. Detta gör det möjligt för utvecklare att ändra hur Jenkin ser ut och fungerar.

Dessutom kommer Jenkins Pipeline-paketet med plugins med specialverktyg som gör det möjligt för utvecklare att modellera enkla och komplexa leveransrörledningar med DSL-metoden (Digital Subscribe line).

Vad gör Travis?

Travis CI erbjuder följande fördelar:

  • Du kan övervaka GitHub-projekt
  • Kör Testa och generera resultat snabbt. Parallell testkörning är möjlig.
  • Bygg artefakter och kontrollera kodkvaliteten
  • Enkel distribution till molntjänster
  • Det kan identifiera små såväl som stora kodändringar.
  • Utvecklare kan använda Travis CI för att titta på testerna när de kör.
  • Verktyget integreras med Slack, HipChat, E-post, etc.

Vad gör Jenkin?

Jenkins låter dig automatisera dina bygga, testa och distribuera uppgifter. Verktyget ger stöd för olika operativsystem som Windows, Mac OSX och Linux-system.

Dessutom ger Jenkins dig möjlighet att snabbt bygga och testa din kod för att få tidig feedback om den är redo för produktion eller inte. I de flesta fall kommer Jenkin att kräva några modifieringar enligt ditt team anpassade krav.

Travis CI-funktioner:

  • Automatisk integration med GitHub
  • Lagringsåtkomst för att bygga pull-begäranden
  • Stöd för 21 språk som Android, C, C #, C ++, Java, JavaScript (med Node.js), Perl, PHP, Python, R, Ruby, etc
  • Förinstallerade build & test-verktyg
  • Tillgängliga tjänster - databaser, meddelandeköer etc.
  • Distribution till flera molntjänster
  • Kryptera säker miljövariabler eller filer
  • Virtuella maskiner återskapas efter varje byggnad
  • CLI-klient och API för skript
  • Levereras med gratis molnbaserat webbhotell som inte kräver underhåll eller administration.

Jenkins funktioner:

  • Lätt att installera, uppgradera och konfigurera
  • Distribuerade byggnader
  • Övervakning av externa jobb
  • Mer än 600 plugins för att anpassa din Jenkins-miljö
  • Över 1000+ offentliga arkiv på Github, 500+ bidragsgivare, stark engagemangsaktivitet
  • Stöd för olika autentiseringsmetoder, versionskontrollsystem, anmälan etc.
  • Jenkins tillhandahåller fjärråtkomst-API och dess funktioner.
  • Ge kraftfullt CI / CD-verktyg för stora projekt
  • Den stöder olika jobbmodeller som Freestyle, Pipeline, etc.,
  • Tillåter utvecklare att lägga till sina tillägg
  • Kompatibel med Docker, Libvirt, Kubernetes och många andra program

Travis vs. Jenkins

Parameter Jenkin Travis
Kosta Jenkins är gratis. Men utvecklingsteamet måste köra och underhålla sin dedikerade server. Detta kan betraktas som en extra kostnad. Travis CI-sviter för företag börjar på $ 129 per månad. Kostnadsökning baserat på den supportnivå du behöver.
Ställ in tid Jenkins behöver detaljerad installation. Så du har en mycket lång väntetid för hela installationen. Det tar mycket kortare tid att komma igång. Skapa en konfigurationsfil och börja integrera.
Prestanda Om du letar efter ett CI-verktyg med obegränsade anpassningsalternativ är Jenkins det bästa valet för dig. Travis CI är det bästa valet om du arbetar i ett open source-projekt.
Verktygstyp Det är en öppen källkod som är gratis att använda verktyget. Det är ett kommersiellt CI-verktyg
Användande Lätt att använda Flexibel att använda
Github Bra för Github Utmärkt för Github
Stöd Omfattande stöd från samhället. Begränsat stöd för samhället.
Fördelar
  • Anpassning är den största fördelen med Jenkins CI-servern
  • Ett omfattande pluginarkiv kan konfigureras för att ändra utseendet på Jenkins.
  • Du kan också lägga till ny funktionalitet som autentisering, varningar och autentiseringsuppgifter.
  • Integration med GitHub & moln
  • Obegränsad öppen källkodsprojekt med full funktionalitet
  • Omfattande projektkonfiguration via .travis.ymi-filen
  • Tillåter grupptester och kör dem parallellt
  • Flera byggnadsmiljöer och målplattformar (dvs Node 0.10,0.8,0.6, Li on).
Nackdelar
  • En stor nackdel med Jenkins för kontinuerlig integration är att den är mycket konfigurerbar. Det finns ingen direktinställning. Det är därför det kan ta två-tre timmar till dagar att få allt konfigurerat i systemet.
  • De största nackdelarna med att installera Travis CI är att det är Kommersiella planer börjar på $ 129 / m vilket är ganska dyrt.
  • Inte lämpligt för högsäkerhetsprojekt
  • Till skillnad från andra CI-verktyg erbjuder det inte Bitbucket Support.
Användningsplaner Fri Gratis för projekt med öppen källkod. Men betalt för företag.
Servermaskin Serverbaserad Molnbaserat
Anpassningsalternativ Mer Mindre
Konfiguration Fullt anpassningsbar YAML
Kontroll på systemet Full Mycket mindre

Popularitetsindex

Antalet frågor märkta Jenkins och Travis i Stack Overflow.

Vilket är bättre?

Således, med ovanstående diskussion, kan vi få ay att Travis och Jenkins båda erbjuder underbara funktioner. Små öppen källkodsprojekt passar dock bäst för Travis CI eftersom det är enkelt att köra och snabbt att ställa in. Å andra sidan passar stort företag bäst för Jenkins eftersom det erbjuder gratis licensiering för ett privat projekt och ett brett utbud av anpassningsbara funktioner. Så vi kan säga att båda dessa kontinuerliga integrationsverktyg är bra på deras sätt.