Entwickler von CI \ CD-Tools geben häufig große Unternehmen wie Microsoft, Oculus, Red Hat, sogar Ferrari und die NASA als Kunden an. Es scheint, dass solche Marken nur mit teuren Systemen funktionieren, die sich ein bedingter Start von einigen Entwicklern und einem Designer nicht leisten kann. Ein erheblicher Teil der Tools steht jedoch kleinen Teams zur Verfügung.
Worauf Sie achten können - wir werden weiter erzählen.
Fotos - Csaba Balazs - Unsplash
Ein Open Source CI-Server, der das Erstellen von PHP-Projekten erleichtert. Dies ist eine Abzweigung des
PHPCI- Projekts. PHPCI selbst entwickelt sich noch, aber nicht so aktiv wie zuvor.
PHP Censor kann mit Repositorys wie GitHub, GitLab, Mercurial und mehreren anderen arbeiten. Zum Testen des Codes verwendet das Tool die Bibliotheken Atoum, PHP Spec, Behat und Codeception. Hier ist
eine Beispielkonfigurationsdatei für den ersten Fall:
test: atoum: args: "command line arguments go here" config: "path to config file" directory: "directory to run tests" executable: "path to atoum executable"
Es wird angenommen, dass PHP Censor nicht schlecht für die Bereitstellung kleiner Projekte ist, aber Sie müssen es selbst hosten und konfigurieren (selbst gehostet). Diese Aufgabe wird durch eine ziemlich detaillierte Dokumentation vereinfacht -
sie befindet sich auf GitHub .
Rex steht für Remote Execution. Das System wurde von Ingenieur Ferenc Erki entwickelt, um Prozesse im Rechenzentrum zu automatisieren. Die Arbeit von Rex basiert auf Perl-Skripten, aber es ist nicht erforderlich, diese Sprache zu kennen, um mit dem Tool zu interagieren. Die meisten Vorgänge (z. B. das Kopieren von Dateien) werden in der Funktionsbibliothek beschrieben, und Skripte passen häufig in zehn Zeilen. Hier ist ein Beispiel, um sich bei mehreren Servern anzumelden und die Betriebszeit auszuführen:
use Rex -feature => ['1.3']; user "my-user"; password "my-password"; group myservers => "mywebserver", "mymailserver", "myfileserver"; desc "Get the uptime of all servers"; task "uptime", group => "myservers", sub { my $output = run "uptime"; say $output; };
Wir empfehlen Ihnen, sich mit dem Tool aus dem
offiziellen Handbuch und dem
E-Book vertraut zu machen, das derzeit hinzugefügt wird.
Dies ist eine Plattform zur Optimierung der Distributionsentwicklung. Sein Code ist offen und liegt im Repository auf
GitHub . Der Autor des Tools ist
Novell . Sie war an der Entwicklung der SuSE-Distribution beteiligt, und dieses Projekt wurde ursprünglich als openSUSE Build Service bezeichnet. Es überrascht nicht, dass der Open Build Service zum Erstellen von Projekten in openSUSE, Tizen und VideoLAN verwendet wird. Das Tool funktioniert auch mit Dell, SGI und Intel. Aber es gibt unter regulären Nutzern und kleinen Startups. Speziell für sie haben die Autoren ein vorkonfiguriertes
Softwarepaket gesammelt (
S. 10 ). Das System selbst ist völlig kostenlos - Sie müssen nur Geld für ein Hosting oder einen Iron Server ausgeben, um es bereitzustellen.
Für die gesamte Zeit seines Bestehens hat das Tool jedoch keine breite Community erhalten. Obwohl
es Teil des Linux Developer Network war, das für die Standardisierung des offenen Betriebssystems verantwortlich ist.
Es kann schwierig sein , eine Antwort auf eine Frage in Themenforen zu finden. Einer der Bewohner von Quora bemerkte jedoch, dass Mitglieder der Community im
IRC-Chat auf Freenode eher bereitwillig reagieren. Das Problem der kleinen Gemeinschaft ist nicht global, da die Lösung vieler Probleme
in der offiziellen Dokumentation (PDF und EPUB) beschrieben ist. Dort
finden Sie Best Practices für die Arbeit mit OBS (es gibt Beispiele und Fälle).
Ein offenes Tool (
GitHub ), das Aufgaben im Rechenzentrum und in der Cloud mithilfe von Skripten automatisiert. Ein spezieller Skriptserver ist für deren Ausführung verantwortlich. Wir können sagen, dass Rundeck die "Tochter" der Plattform für die Verwaltung von ControlTier-Anwendungen ist. Rundeck trennte sich 2010 davon und erwarb neue Funktionen - zum Beispiel Integrationen mit Puppet, Chef, Git und Jenkins.
Das System wird von The Walt Disney Company , Salesforce und Ticketmaster verwendet . Das Projekt eignet sich aber auch für Startups. Dies liegt daran, dass Rundeck unter der Apache v2.0-Lizenz lizenziert ist. Darüber hinaus ist das Tool recht einfach zu bedienen.
Ein Einwohner von Reddit, der mit Rundeck zusammengearbeitet hat,
sagt, er habe die meisten Schwierigkeiten selbst gelöst. Dabei halfen ihm die von den Entwicklern veröffentlichten
Dokumentationen und E-Books .
Sie können auch Kurzanleitungen zum Online-Einrichten des Tools finden:
Ein offenes Tool (
GitHub ) automatisiert die Versionskontrolle von Code. Es wurde 2007 von
ThoughtWorks eingeführt - dann hieß das Projekt Cruise.
AutoCD Autoder, ein Ancestry-Genealogie-Dienst, und Barclaycard, ein Kreditkartenanbieter, arbeiten mit GoCD zusammen. Ein Viertel der Benutzer des Tools
sind jedoch kleine Unternehmen .
Die Beliebtheit des Dienstes bei Startups lässt sich durch seine Offenheit erklären - er wird unter der Apache v2.0-Lizenz vertrieben. Gleichzeitig verfügt GoCD
über Plugins zur Integration in Software von Drittanbietern - Autorisierungssysteme und Cloud-Lösungen. Das System ist zwar
ziemlich schwer zu beherrschen - es hat eine große Anzahl von Bedienern und Teams. Einige Benutzer beschweren sich auch über die fehlerhafte Benutzeroberfläche und die
Notwendigkeit, Agenten für die Skalierung
zu konfigurieren.
Fotos - Matt Wildbore - UnsplashWenn Sie GoCD in der Praxis ausprobieren möchten, finden Sie auf der Projektwebsite die
offizielle Dokumentation . Sie können auch das
GoCD Developer Blog mit
Anpassungshandbüchern als Quelle für zusätzliche Informationen empfehlen.
Jenkins ist weithin bekannt und
gilt als eine Art Standard im Bereich CI \ CD - ohne ihn wäre diese Auswahl natürlich nicht vollständig. Das Tool erschien 2011 und
wurde zu einem Zweig des Hudson-Projekts von Oracle.
Heute arbeiten sie mit Jenkins bei der NASA, Nintendo und anderen großen Organisationen zusammen.
Mehr als 8% der Benutzer sind jedoch kleine Gruppen von bis zu zehn Personen. Das Produkt ist völlig kostenlos und wird
unter der MIT-Lizenz vertrieben . Sie müssen Jenkins jedoch selbst hosten und konfigurieren - es ist ein dedizierter Server erforderlich.
Während des gesamten Lebens des Instruments hat sich eine umfangreiche Gemeinschaft um es herum gebildet. Benutzer kommunizieren aktiv in Threads auf
Reddit und
Google Groups . Materialien zu Jenkins erscheinen auch regelmäßig auf Habré. Wenn Sie Teil der Community werden und mit Jenkins beginnen möchten, gibt es eine
offizielle Dokumentation und einen
Leitfaden der Entwickler . Wir empfehlen außerdem die folgenden Anleitungen und Bücher:
Jenkins hat einige nützliche Projekte von Drittanbietern. Das erste ist das Plugin
Konfiguration als Code . Es vereinfacht die Einrichtung von Jenkins mit lesbaren APIs, die auch für Administratoren ohne fundierte Kenntnisse des Tools verständlich sind. Das zweite ist das
Jenkins X Cloud-System. Es beschleunigt die Bereitstellung von Anwendungen, die in einer großen IT-Infrastruktur bereitgestellt werden, indem einige Routineaufgaben automatisiert werden.
Dies ist ein kontinuierliches Integrationssystem zur Automatisierung des Montage- und Testzyklus von Anwendungen. Es überprüft automatisch die Funktionalität des Codes jedes Mal, wenn Änderungen daran vorgenommen werden.
Der Autor des Tools war der Ingenieur Brian Warner (Brian Warner). Heute wurde
er durch die Initiativgruppe des Buildbot Oversight Committee ersetzt, der sechs Entwickler angehören.
Buildbot wird von Projekten wie LLVM, MariaDB, Blender und Dr.Web verwendet. Es wird aber auch in kleineren Projekten wie wxWidgets und Flathub verwendet. Das System unterstützt alle modernen VCS und verfügt über flexible Build-Einstellungen, die mithilfe von Python beschrieben werden. Die
offizielle Dokumentation und die Tutorials von Drittanbietern helfen Ihnen bei der Bewältigung aller Probleme. Hier finden Sie beispielsweise eine Kurzanleitung
von IBM .
Dies sind natürlich nicht alle DevOps-Tools, auf die kleine Unternehmen und Startups achten sollten. Geben Sie Ihre Lieblingswerkzeuge in den Kommentaren an, und wir werden versuchen, in einem der folgenden Materialien darüber zu sprechen.
Worüber wir in einem Unternehmensblog schreiben: