Es gibt heutzutage eine ganze Menge Werkzeuge für CI/CD. In diesem Kapitel werden wir einige der besten Werkzeuge nennen.
Jenkins ist ein Open-Source-Tool zur kontinuierlichen Integration, das in Java entwickelt wurde. Bei jeder Änderung des Codes einer Anwendung im Konfigurationsmanager über- nimmt Jenkins automatisch die Aufgabe, die Anwendung neu zu kompilieren und zu te- sten. Für diesen zweiten Schritt integriert Jenkins das Open-Source-Testframework von JUnit. Wenn ein Fehler entdeckt wird, benachrichtigt Jenkins den Entwickler, damit dieser das Problem beheben kann. Dies ist natürlich ein sehr vorteilhaftes Entwicklungsverfah- ren. Jenkins ist ein Fork des Hudson-Tools und kann an einen Servlet-Server wie Apache Tom- cat angebunden werden oder auf einem eigenen eingebetteten Webserver basieren. Es ist über einen Webbrowser zugänglich und mit den gängigsten Versionsverwaltungssystemen wie z. B. Git oder Subversion kompatibel. Standardmäßig unterstützt es Continuous Inte- gration (CI) Pipelines, die auf den Build-Tools Apache Ant und Apache Maven basieren.
Im Jahr 2008 wurde Bitbucket als Service für SaaS (Software as a Service) gegründet, der inzwischen in Bitbucket Cloud umbenannt wurde. Es handelt sich dabei um mehr als nur ein Werkzeug zur Verwaltung von Softwareversionen, das auf den Open-Source- Revisionskontrollsystemen Git und Mercurial basiert. Es wird von der australischen Firma Atlassian herausgegeben und umfasst auch einen Projektmanagementbereich, einen Pla- nungsmanager, eine Umgebung für die Zusammenarbeit am Quellcode, aber auch Test- und CI/CD-Funktionen für die kontinuierliche Integration und Bereitstellung. Bei entsprechendem Bedarf kann Bitbucket auf andere Tools zurückgreifen, die Atlas- sian parallel vermarktet: Bamboo für die kontinuierliche Integration, Confluence für die Zusammenarbeit, Crucible für die Verwaltung von Code-Reviews, Fisheye für die Revi- sionskontrolle (über eine Suchmaschine) oder auch Jira und Trello für das Projektmana- gement.
Travis CI ist eine Open-Source-Software zur kontinuierlichen Integration, die unter der MIT-Lizenz erhältlich ist. Mit Travis CI lassen sich in der Entwicklung befindliche Anwendungen oder Software nicht nur testen, sondern auch automatisch bereitstellen. Außerdem ist Travis CI ein ko- stenloses Werkzeug für Open-Source-Projekte.
GitLab ist eine kollaborative Open-Source-Entwicklungsplattform, die von der gleichna- migen amerikanischen Firma veröffentlicht wird. GitLab umfasst alle Phasen des De- vOps. Die Software basiert auf den Funktionen der Git-Software und ermöglicht es, Quellcode-Repositorys zu verwalten und die verschiedenen Versionen des Quellcodes zu steuern. Die Software eignet sich besonders für Entwickler, die ein reaktionsschnelles und leicht verständliches Tool benötigen.