Jenkins vs Travis-CI: Hva er forskjellen?

Innholdsfortegnelse:

Anonim

Hva er CI?

Kontinuerlig integrasjon er en programvareutviklingsmetode der medlemmer av teamet kan integrere arbeidet sitt minst en gang om dagen. I denne metoden blir hver integrasjon sjekket av en automatisert versjon for å søke etter feilen. CI-konseptet ble først introdusert for over to tiår siden for å unngå "integrasjonshelvete", som skjer når integrering blir utsatt til slutten av et prosjekt.

I denne veiledningen vil du lære

  • Hva er CI?
  • Hva er Travis CI?
  • Hva er Jenkins?
  • Hva gjør Travis?
  • Hva gjorde Jenkin?
  • Travis CI-funksjoner:
  • Jenkin Funksjoner:
  • Travis vs. Jenkins
  • Popularitetsindeks
  • Som er bedre?

Hvordan fungerer CI?

  • Utviklere skriver kode og forplikter endringer i det delte depotet
  • Etter det overvåker CI-serveren depotet og evaluerer alle endringene
  • CI bygger systemet og gjennomfører integrering og enhetstester
  • Serveren frigjør distribuerbare gjenstander
  • Den kontinuerlige integrasjonsserveren tilordner en build-tag til versjonen og bygningskoden
  • Deretter rapporterer CI-serveren teamet om vellykket bygging. Hvis testene mislykkes, varsler serveren om hendelsen til utviklingsteamet. Teamet vil løse problemene så raskt som mulig.

HOVEDFORSKJELL

  • Travis CI er et kommersielt CI-verktøy mens Jenkins er et open source-verktøy.
  • Travis CI tar veldig kortere tid å komme i gang mens Jenkins trenger omfattende oppsett.
  • Travis CI tilbyr mindre tilpasningsalternativer, mens Jenkins tilbyr enorme tilpasningsalternativer.
  • Travis CI har en YAML-konfigurasjonsfil mens Jenkins gir et fullstendig konfigurasjonsalternativ til brukeren.

Hva er Travis CI?

Travis CI var det første CI som et serviceverktøy. Det introduserte en ny tilnærming til å bygge kode i skyen. Dette CI-verktøyet lar brukeren registrere seg, koble lagringsstedet sitt, bygge, samt teste appene sine.

Travis CI-verktøyet kan enkelt integreres med de vanlige skylagrene som GitHub og Bitbucket. Det tilbyr mange automatiserte CI-alternativer som reduserer behovet for en dedikert server ettersom Travis CI-serveren er vert i skyen. Dette lar deg teste i forskjellige miljøer, på forskjellige maskiner, og kjøre på forskjellige operativsystemer.

Travis CI er gratis for open source-prosjekter. For kommersielle prosjekter må du kjøpe en forretningsplan.

Hva er Jenkins?

Jenkins er et prisbelønt kontinuerlig integrasjonsverktøy som overvåker gjennomføring av distribusjonssykluser. Det startet som et sideprosjekt av Suns programvareingeniørgruppe. Senere ble den utvidet som et av de populære open source CI-verktøyene som hjelper programvareutviklingsteam til å automatisere distribusjonen.

Jenkins er et Java-basert verktøy, som betyr at du bare trenger Java Runtime Environment for å betjene det. Derfor kan Jenkins installeres på hvilket som helst operativsystem der Java kjører.

I dette verktøyet kan utviklere også spesifisere betingelser for tilpassede bygg. Jenkins støtter et massivt pluginarkiv. Dette gjør at utviklere kan endre hvordan Jenkin ser ut og fungerer.

Videre kommer Jenkins Pipeline-pakken med spesialtillegg som lar utviklere modellere enkle og komplekse leveringsrørledninger ved hjelp av DSL (Digital Subscribe line) -metoden.

Hva gjør Travis?

Travis CI tilbyr følgende fordeler:

  • Du kan overvåke GitHub-prosjekter
  • Kjører Test og generer resultater raskt. Parallell testutførelse er mulig.
  • Bygg gjenstander og sjekk kodekvaliteten
  • Enkel distribusjon til skytjenester
  • Det kan identifisere små så vel som store kodeendringer.
  • Utviklere kan bruke Travis CI til å se testene når de kjører.
  • Verktøyet integreres med Slack, HipChat, Email, etc.

Hva gjør Jenkin?

Jenkins lar deg automatisere bygge, teste og distribuere oppgaver. Verktøyet gir støtte for forskjellige operativsystemer som Windows, Mac OSX og Linux-systemer.

Videre gir Jenkins deg muligheten til raskt å bygge og teste koden din for å få tidlig tilbakemelding på om den er klar for produksjon eller ikke. I de fleste tilfeller vil Jenkin kreve få modifikasjoner i henhold til teamets tilpassede krav.

Travis CI-funksjoner:

  • Automatisk integrasjon med GitHub
  • Datatilgang for å bygge pull-forespørsler
  • Støtte for 21 språk som Android, C, C #, C ++, Java, JavaScript (med Node.js), Perl, PHP, Python, R, Ruby, etc
  • Forhåndsinstallert bygge- og testverktøy
  • Tilgjengelige tjenester - databaser, meldingskøer osv.
  • Implementering til flere skytjenester
  • Krypter variabler eller filer for sikre omgivelser
  • Virtuelle maskiner gjenskapes etter hver bygging
  • CLI-klient og API for skripting
  • Leveres med gratis skybasert hosting som ikke krever vedlikehold eller administrasjon.

Jenkin Funksjoner:

  • Enkel å installere, oppgradere og konfigurere
  • Distribuerte bygninger
  • Overvåking av eksterne jobber
  • Mer enn 600 plugins for å tilpasse Jenkins-miljøet ditt
  • Over 1000+ offentlige repositorier på Github, 500+ bidragsytere, sterk forpliktende aktivitet
  • Støtte for ulike autentiseringsmetoder, versjonskontrollsystemer, varsling osv.
  • Jenkins tilbyr API for ekstern tilgang og dets funksjoner.
  • Gi kraftig CI / CD-verktøy for store prosjekter
  • Den støtter forskjellige jobbmodeller som Freestyle, Pipeline, etc.,
  • Lar utviklere legge til utvidelsene sine
  • Kompatibel med Docker, Libvirt, Kubernetes og mange andre programmer

Travis vs. Jenkins

Parameter Jenkin Travis
Koste Jenkins er gratis. Men utviklingsteamet må kjøre og vedlikeholde sin dedikerte server. Dette kan betraktes som en ekstra kostnad. Travis CI-virksomhetssuiter starter på $ 129 per måned. Kostnadsøkning basert på støttenivået du trenger.
Sett opp tid Jenkins trenger forseggjort oppsett. Så du får veldig lang ventetid for fullstendig installasjon. Det tar veldig kortere tid å komme i gang. Opprett en konfigurasjonsfil og begynn å integrere.
Opptreden Hvis du leter etter et CI-verktøy med ubegrensede tilpasningsalternativer, er Jenkins det beste valget for deg. Travis CI er det beste valget Hvis du jobber i et open source-prosjekt.
Verktøytype Det er en åpen kildekode som er gratis å bruke verktøyet. Det er et kommersielt CI-verktøy
Bruk Lett å bruke Fleksibel å bruke
Github Bra for Github Utmerket for Github
Brukerstøtte Omfattende støtte fra samfunnet. Begrenset støtte for samfunnet.
Fordeler
  • Tilpasning er den største fordelen med Jenkins CI-serveren
  • Et omfattende pluginarkiv kan konfigureres for å endre utseendet til Jenkins.
  • Du kan også legge til ny funksjonalitet som autentisering, varsler og legitimasjon.
  • Integrasjon med GitHub og sky
  • Ubegrenset åpen kildekode-prosjekter med full funksjonalitet
  • Omfattende prosjektkonfigurasjon via .travis.ymi-filen
  • Tillater klyngetester og kjører dem parallelt
  • Flere bygningsmiljøer og målplattformer (dvs. Node 0.10,0.8,0.6, Li on).
Ulemper
  • En stor ulempe med Jenkins for kontinuerlig integrasjon er at den er svært konfigurerbar. Det er ikke noe oppsett. Derfor kan det ta to-tre timer til dager å få alt konfigurert i systemet.
  • De største ulempene ved å installere Travis CI er at de kommersielle planene starter på $ 129 / m, noe som er ganske dyrt.
  • Ikke egnet for høysikkerhetsprosjekter
  • I motsetning til andre CI-verktøy tilbyr den ikke Bitbucket-støtte.
Bruksplaner Gratis Gratis for open source-prosjekter. Imidlertid betalt for Enterprise.
Servermaskin Serverbasert Sky-basert
Tilpasningsalternativer Mer Mindre
Konfigurasjon Fullt tilpasses YAML
Kontroll på systemet Full Veldig mindre

Popularitetsindeks

Antall spørsmål merket Jenkins og Travis i Stack Overflow.

Som er bedre?

Med den ovennevnte diskusjonen kan vi altså forstå at Travis og Jenkins begge tilbyr fantastiske funksjoner. Imidlertid er små open source-prosjekter best egnet for Travis CI, da det er enkelt å kjøre og raskt å sette opp. På den annen side passer store bedrifter best til Jenkins, da de tilbyr gratis lisensiering for et privat prosjekt og et bredt spekter av tilpassbare funksjoner. Så vi kan si at begge disse kontinuerlige integrasjonsverktøyene er gode på deres måte.