Wat is CI?
Continue integratie is een softwareontwikkelingsmethode waarbij leden van het team hun werk minstens één keer per dag kunnen integreren. Bij deze methode wordt elke integratie gecontroleerd door een geautomatiseerde build om de fout te doorzoeken. Het CI-concept werd meer dan twee decennia geleden voor het eerst geïntroduceerd om de "integratie-hel" te vermijden, wat gebeurt wanneer integratie wordt uitgesteld tot het einde van een project.
In deze tutorial leer je
- Wat is CI?
- Wat is Travis CI?
- Wat is Jenkins?
- Wat doet Travis?
- Wat heeft Jenkin gedaan?
- Travis CI-functies:
- Jenkin-functies:
- Travis tegen Jenkins
- Populariteitsindex
- Wat is beter?
Hoe CI werkt?
- Ontwikkelaars schrijven code en voeren wijzigingen door in de gedeelde opslagplaats
- Daarna controleert de CI-server de repository en evalueert alle wijzigingen
- CI bouwt het systeem en voert integratie- en unit-tests uit
- De server geeft inzetbare artefacten vrij
- De Continous Integration-server wijst een build-tag toe aan de versie en de bouwcode
- Vervolgens rapporteert de CI-server het team over de succesvolle build. Als de tests mislukken, waarschuwt de server het ontwikkelingsteam over de gebeurtenis. Het team zal de problemen zo snel mogelijk oplossen.
BELANGRIJK VERSCHIL
- Travis CI is een commerciële CI-tool, terwijl Jenkins een open-source tool is.
- Travis CI kost veel minder tijd om aan de slag te gaan, terwijl Jenkins een uitgebreide installatie nodig heeft.
- Travis CI biedt minder aanpassingsmogelijkheden, terwijl Jenkins uitgebreide aanpassingsopties biedt.
- Travis CI heeft een YAML-configuratiebestand, terwijl Jenkins de gebruiker een volledige configuratieoptie biedt.
Wat is Travis CI?
Travis CI was de eerste CI as a Service-tool. Het introduceerde een nieuwe benadering voor het bouwen van code in de cloud. Met deze CI-tool kan de gebruiker zich aanmelden, zijn repository linken, bouwen en zijn apps testen.
De Travis CI-tool kan eenvoudig worden geïntegreerd met de gebruikelijke cloudopslagplaatsen zoals GitHub en Bitbucket. Het biedt veel geautomatiseerde CI-opties die de behoefte aan een speciale server overbodig maken, aangezien de Travis CI-server in de cloud wordt gehost. Hierdoor kunt u testen in verschillende omgevingen, op verschillende machines, draaiend op verschillende besturingssystemen.
Travis CI is gratis voor open source-projecten. Voor commerciële projecten moet u een ondernemingsplan aanschaffen.
Wat is Jenkins?
Jenkins is een bekroonde tool voor continue integratie die de uitvoering van implementatiecycli bewaakt. Het begon als een bijproject van de software-ingenieursgroep van Sun. Later werd het uitgebreid als een van de populaire open source CI-tools die softwareontwikkelingsteams helpen hun implementaties te automatiseren.
Jenkins is een op Java gebaseerde tool, wat betekent dat je alleen Java Runtime Environment nodig hebt om het te bedienen. Daarom kan Jenkins worden geïnstalleerd op elk besturingssysteem waarop Java wordt uitgevoerd.
In deze tool kunnen ontwikkelaars ook voorwaarden specificeren voor aangepaste builds. Jenkins ondersteunt een enorm archief van plug-ins. Hierdoor kunnen ontwikkelaars het uiterlijk en de werking van Jenkin wijzigen.
Bovendien wordt de Jenkins Pipeline-suite met plug-ins geleverd met speciale tools waarmee ontwikkelaars eenvoudig tot complexe leveringspijplijnen kunnen modelleren met behulp van de DSL-methode (Digital Abonnementslijn).
Wat doet Travis?
Travis CI biedt de volgende voordelen:
- U kunt GitHub-projecten volgen
- Draait Test en genereer snel resultaten. Parallelle testuitvoering is mogelijk.
- Bouw artefacten en controleer de kwaliteit van de code
- Eenvoudige implementatie in cloudservices
- Het kan zowel kleine als grote codewijzigingen identificeren.
- Ontwikkelaars kunnen Travis CI gebruiken om de tests te bekijken terwijl ze worden uitgevoerd.
- De tool kan worden geïntegreerd met Slack, HipChat, e-mail, enz.
Wat doet Jenkin?
Met Jenkins kunt u uw build-, test- en implementatietaken automatiseren. De tool biedt ondersteuning voor verschillende besturingssystemen, zoals Windows-, Mac OSX- en Linux-systemen.
Bovendien geeft Jenkins je de mogelijkheid om snel je code te bouwen en te testen om vroegtijdig feedback te krijgen over of deze klaar is voor productie of niet. In de meeste gevallen vereist Jenkin enkele aanpassingen volgens de aangepaste vereisten van uw team.
Travis CI-functies:
- Automatische integratie met GitHub
- Repository-toegang om pull-verzoeken te bouwen
- Ondersteuning voor 21 talen zoals Android, C, C #, C ++, Java, JavaScript (met Node.js), Perl, PHP, Python, R, Ruby, enz
- Vooraf geïnstalleerde build- en testtools
- Beschikbare services - databases, berichtenwachtrijen, enz.
- Implementatie in meerdere cloudservices
- Versleutel veilige omgevingsvariabelen of bestanden
- Virtuele machines die na elke build opnieuw worden gemaakt
- CLI-client en API voor scripting
- Wordt geleverd met gratis cloudgebaseerde hosting die geen onderhoud of administratie vereist.
Jenkin-functies:
- Eenvoudig te installeren, upgraden en configureren
- Gedistribueerde builds
- Monitoring van externe banen
- Meer dan 600 plug-ins om uw Jenkins-omgeving aan te passen
- Meer dan 1000+ openbare repositories op Github, meer dan 500 bijdragers, sterke commitment-activiteit
- Ondersteuning voor verschillende authenticatiemethoden, versiebeheersystemen, notificatie, etc.
- Jenkins biedt API voor externe toegang en de bijbehorende functionaliteiten.
- Biedt krachtige CI / CD-tool voor grote projecten
- Het ondersteunt verschillende jobmodellen zoals Freestyle, Pipeline, etc.,
- Hiermee kunnen ontwikkelaars hun extensies toevoegen
- Compatibel met Docker, Libvirt, Kubernetes en vele andere programma's
Travis tegen Jenkins
Parameter | Jenkin | Travis |
---|---|---|
Kosten | Jenkins is gratis. Maar het ontwikkelteam moet hun dedicated server draaien en onderhouden. Dit zou als een extra uitgave kunnen worden beschouwd. | Travis CI enterprise-suites beginnen bij $ 129 per maand. Kostenverhoging op basis van het ondersteuningsniveau dat u nodig heeft. |
Installatie tijd | Jenkins heeft een uitgebreide installatie nodig. U zult dus erg lang moeten wachten op de volledige installatie. | Het kost veel minder tijd om te beginnen. Maak een configuratiebestand en begin met integreren. |
Prestatie | Als u op zoek bent naar een CI-tool met onbeperkte aanpassingsmogelijkheden, dan is Jenkins de beste keuze voor u. | Travis CI is de beste keuze als u in een open source project werkt. |
Gereedschapstype | Het is een gratis open-source tool om de tool te gebruiken. | Het is een commerciële CI-tool |
Gebruik | Makkelijk te gebruiken | Flexibel inzetbaar |
Github | Goed voor Github | Uitstekend geschikt voor Github |
Ondersteuning | Uitgebreide steun van de gemeenschap. | Beperkte ondersteuning voor de gemeenschap. |
Voordelen |
|
|
Nadelen |
|
|
Gebruiksplannen | Vrij | Gratis voor open source-projecten. Betaald voor Enterprise. |
Servermachine | Server-gebaseerd | Cloud-gebaseerd |
Aanpassingsopties | Meer | Minder |
Configuratie | Volledig aanpasbaar | YAML |
Controle op systeem | Vol | Veel minder |
Populariteitsindex
Het aantal vragen met het label Jenkins en Travis in Stack Overflow.
Wat is beter?
Dus met de bovenstaande discussie kunnen we erachter komen dat Travis en Jenkins beide geweldige functies bieden. Kleine open source-projecten zijn echter het meest geschikt voor Travis CI, omdat het gemakkelijk te draaien en snel op te zetten is. Aan de andere kant is een grote onderneming het meest geschikt voor Jenkins, omdat het gratis licenties biedt voor een privéproject en een breed scala aan aanpasbare functies. We kunnen dus zeggen dat beide tools voor continue integratie goed zijn op hun manier.