Jenkins vs Travis-CI: Hvad er forskellen?

Indholdsfortegnelse:

Anonim

Hvad er CI?

Kontinuerlig integration er en softwareudviklingsmetode, hvor medlemmer af teamet kan integrere deres arbejde mindst en gang om dagen. I denne metode kontrolleres enhver integration af en automatiseret build for at søge i fejlen. CI-konceptet blev først introduceret for over to årtier siden for at undgå "integrationshelvede", hvilket sker, når integration afskydes til slutningen af ​​et projekt.

I denne vejledning lærer du

  • Hvad er CI?
  • Hvad er Travis CI?
  • Hvad er Jenkins?
  • Hvad gør Travis?
  • Hvad gjorde Jenkin?
  • Travis CI funktioner:
  • Jenkin Funktioner:
  • Travis vs. Jenkins
  • Popularitetsindeks
  • Hvilken er bedre?

Hvordan CI fungerer?

  • Udviklere skriver kode og forpligter sig til ændringer i det delte lager
  • Derefter overvåger CI-serveren lageret og evaluerer alle ændringer
  • CI bygger systemet og udfører integration og test af enheder
  • Serveren frigiver artefakter, der kan implementeres
  • Den kontinuerlige integrationsserver tildeler et build-tag til versionen og bygningskoden
  • Derefter rapporterer CI-serveren teamet om den vellykkede build. Hvis testene mislykkes, advarer serveren om begivenheden til udviklingsteamet. Holdet løser problemerne så hurtigt som muligt.

Nøgleforskel

  • Travis CI er et kommercielt CI-værktøj, mens Jenkins er et open source-værktøj.
  • Travis CI tager meget kortere tid at komme i gang, mens Jenkins har brug for en detaljeret opsætning.
  • Travis CI tilbyder mindre tilpasningsmulighed, mens Jenkins tilbyder store tilpasningsmuligheder.
  • Travis CI har en YAML-konfigurationsfil, mens Jenkins giver brugeren en fuld konfigurationsmulighed.

Hvad er Travis CI?

Travis CI var det første CI som et serviceværktøj. Det introducerede en ny tilgang til bygningskode i skyen. Dette CI-værktøj giver brugeren mulighed for at tilmelde sig, linke deres lager, opbygge samt teste deres apps.

Travis CI-værktøjet kan nemt integreres med de almindelige skyopbevaringssteder som GitHub og Bitbucket. Det tilbyder mange automatiserede CI-indstillinger, der fjerner behovet for en dedikeret server, da Travis CI-serveren er hostet i skyen. Dette giver dig mulighed for at teste i forskellige miljøer på forskellige maskiner, der kører på forskellige operativsystemer.

Travis CI er gratis til open source-projekter. Til kommercielle projekter skal du købe en virksomhedsplan.

Hvad er Jenkins?

Jenkins er et prisvindende kontinuerligt integrationsværktøj, der overvåger udførelsen af ​​implementeringscyklusser. Det startede som et sideprojekt fra Suns softwareingeniørgruppe. Senere blev det udvidet som et af de populære open source CI-værktøjer, der hjælper softwareudviklingsteams med at automatisere deres implementeringer.

Jenkins er et Java-baseret værktøj, hvilket betyder, at du kun har brug for Java Runtime-miljø for at betjene det. Derfor kan Jenkins installeres på ethvert operativsystem, hvor Java kører.

I dette værktøj kan udviklere også specificere betingelser for tilpassede builds. Jenkins understøtter et massivt pluginarkiv. Dette giver udviklere mulighed for at ændre, hvordan Jenkin ser ud og fungerer.

Desuden leveres Jenkins Pipeline-pakken med specielle værktøjer, der gør det muligt for udviklere at modellere let-til-komplekse leveringsrørledninger ved hjælp af DSL-metoden (Digital Subscribe line).

Hvad gør Travis?

Travis CI tilbyder følgende fordele:

  • Du kan overvåge GitHub-projekter
  • Kører Test og generer resultater hurtigt. Parallel testudførelse er mulig.
  • Byg artefakter & kontroller kodekvalitet
  • Nem installation til cloud-tjenester
  • Det kan identificere små såvel som store kodeændringer.
  • Udviklere kan bruge Travis CI til at se testene, når de kører.
  • Værktøjet integreres med Slack, HipChat, Email osv.

Hvad gør Jenkin?

Jenkins giver dig mulighed for at automatisere dine opbygnings-, test- og implementeringsopgaver. Værktøjet understøtter forskellige operativsystemer som Windows, Mac OSX og Linux-systemer.

Desuden giver Jenkins dig mulighed for hurtigt at opbygge og teste din kode for at få tidlig feedback om, hvorvidt den er klar til produktion eller ej. I de fleste tilfælde vil Jenkin kræve få ændringer i henhold til dit teams tilpassede krav.

Travis CI funktioner:

  • Automatisk integration med GitHub
  • Lagringsadgang til at oprette pull-anmodninger
  • Understøttelse af 21 sprog som Android, C, C #, C ++, Java, JavaScript (med Node.js), Perl, PHP, Python, R, Ruby osv.
  • Forudinstallerede build & test-værktøjer
  • Tilgængelige tjenester - databaser, meddelelseskøer osv.
  • Implementering til flere skytjenester
  • Krypter variable miljøvariabler eller -filer
  • Virtuelle maskiner genskabes efter hver build
  • CLI-klient og API til scripting
  • Leveres med gratis skybaseret hosting, som ikke kræver vedligeholdelse eller administration.

Jenkin Funktioner:

  • Let at installere, opgradere og konfigurere
  • Distribuerede bygninger
  • Overvågning af eksterne job
  • Mere end 600 plugins til at tilpasse dit Jenkins-miljø
  • Over 1000+ offentlige arkiver på Github, 500+ bidragydere, stærk forpligtelsesaktivitet
  • Understøttelse af forskellige godkendelsesmetoder, versionskontrolsystemer, underretning osv.
  • Jenkins leverer API til fjernadgang og dets funktionaliteter.
  • Giv kraftigt CI / CD-værktøj til store projekter
  • Det understøtter forskellige jobmodeller som Freestyle, Pipeline osv.,
  • Tillader udviklere at tilføje deres udvidelser
  • Kompatibel med Docker, Libvirt, Kubernetes og mange andre programmer

Travis vs. Jenkins

Parameter Jenkin Travis
Koste Jenkins er gratis. Men udviklingsteamet skal køre og vedligeholde deres dedikerede server. Dette kan betragtes som en ekstra udgift. Travis CI-virksomhedssuiter starter ved $ 129 pr. Måned. Omkostningsstigning baseret på det supportniveau, du har brug for.
Opsæt tid Jenkins har brug for detaljeret opsætning. Så du har meget lang ventetid på den komplette installation. Det tager meget kortere tid at komme i gang. Opret en konfigurationsfil og start integrationen.
Ydeevne Hvis du leder efter et CI-værktøj med ubegrænsede tilpasningsmuligheder, er Jenkins det bedste valg for dig. Travis CI er det bedste valg Hvis du arbejder i et open source-projekt.
Værktøjstype Det er en open source gratis at bruge værktøjet. Det er et kommercielt CI-værktøj
Anvendelse Let at bruge Fleksibel at bruge
Github Godt for Github Fremragende til Github
Support Omfattende støtte fra samfundet. Begrænset støtte til samfundet.
Fordele
  • Tilpasning er den største fordel ved Jenkins CI-serveren
  • Et omfattende pluginarkiv kan konfigureres til at ændre udseendet på Jenkins.
  • Du kan også tilføje ny funktionalitet som godkendelse, alarmer og legitimationsoplysninger.
  • Integration med GitHub & cloud
  • Ubegrænset open source-projekter med fuld funktionalitet
  • Omfattende projektkonfiguration via .travis.ymi-fil
  • Tillader klyngetest og kører dem parallelt
  • Flere bygningsmiljøer og målplatforme (dvs. Node 0.10,0.8,0.6, Li on).
Ulemper
  • En stor ulempe ved Jenkins for kontinuerlig integration er, at den er meget konfigurerbar. Der er ingen out-of-the-box opsætning. Derfor kan det tage to-tre timer til dage at få alt konfigureret i systemet.
  • De største ulemper ved installation af Travis CI er, at det er Kommercielle planer starter ved $ 129 / m, hvilket er ret dyrt.
  • Ikke egnet til projekter med høj sikkerhed
  • I modsætning til andre CI-værktøjer tilbyder den ikke Bitbucket Support.
Brugsplaner Gratis Gratis til open source-projekter. Imidlertid betalt for Enterprise.
Servermaskine Serverbaseret Cloud-baseret
Tilpasningsindstillinger Mere Mindre
Konfiguration Fuldt tilpasselig YAML
Kontrol på systemet Fuld Meget mindre

Popularitetsindeks

Antallet af spørgsmål mærket Jenkins og Travis i Stack Overflow.

Hvilken er bedre?

Således kan vi med ovenstående diskussion få, at Travis og Jenkins begge tilbyder vidunderlige funktioner. Dog er små open source-projekter bedst egnet til Travis CI, da det er let at køre og hurtigt at oprette. På den anden side er stor virksomhed bedst egnet til Jenkins, da den tilbyder gratis licens til et privat projekt og en bred vifte af funktioner, der kan tilpasses. Så vi kan sige, at begge disse kontinuerlige integrationsværktøjer er gode på deres måde.