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 |
|
|
Ulemper |
|
|
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.