CICD für Startups: Welche Tools gibt es und warum nicht nur große und namhafte Unternehmen sie nutzen

Entwickler von CICD-Tools nennen oft große Unternehmen als Kunden – Microsoft, Oculus, Red Hat, sogar Ferrari und NASA. Es scheint, dass solche Marken nur mit teuren Systemen arbeiten, die sich ein Startup bestehend aus ein paar Entwicklern und einem Designer nicht leisten kann. Ein erheblicher Teil der Tools steht jedoch kleinen Teams zur Verfügung.

Worauf Sie dabei achten können, verraten wir Ihnen im Folgenden.

CICD für Startups: Welche Tools gibt es und warum nicht nur große und namhafte Unternehmen sie nutzen
Фото - Csaba Balazs – Unsplash

PHP-Zensor

Ein Open-Source-CI-Server, der die Erstellung von Projekten in PHP vereinfacht. Dies ist eine Abzweigung des Projekts PHPCI. PHPCI selbst entwickelt sich noch weiter, aber nicht mehr so ​​aktiv wie zuvor.

PHP Censor kann mit GitHub, GitLab, Mercurial und mehreren anderen Repositories arbeiten. Zum Testen von Code verwendet das Tool die Bibliotheken Atoum, PHP Spec, Behat und Codeception. Hier Beispieldatei Konfigurationen 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 gut für die Bereitstellung kleiner Projekte geeignet ist, Sie es jedoch selbst hosten und konfigurieren müssen (selbst gehostet). Diese Aufgabe wird durch eine ziemlich detaillierte Dokumentation vereinfacht - es ist auf GitHub.

Rex

Rex ist die Abkürzung für Remote Execution. Das System wurde vom Ingenieur Ferenc Erki entwickelt, um Prozesse im Rechenzentrum zu automatisieren. Rex basiert auf Perl-Skripten, es ist jedoch 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 oft in zehn Zeilen. Hier ist ein Beispiel für die Anmeldung bei mehreren Servern und die Ausführung von Uptime:

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, Ihre Bekanntschaft mit dem Tool mit zu beginnen offizieller Führer и E-Book, das derzeit fertiggestellt wird.

Open Build Service (OBS)

Dies ist eine Plattform zur Optimierung der Entwicklung von Distributionen. Der Code ist offen und befindet sich im Repository unter GitHub. Der Autor des Tools ist das Unternehmen Novell. Sie war an der Entwicklung der SuSE-Distribution beteiligt, und dieses Projekt hieß ursprünglich openSUSE Build Service. Es ist keine Überraschung, dass Open Build Service verwenden für Bauprojekte in openSUSE, Tizen und VideoLAN. Auch Dell, SGI und Intel arbeiten mit dem Tool. Aber unter den regulären Nutzern gibt es auch kleine Startups. Speziell für sie haben die Autoren gesammelt (Seite 10) vorkonfiguriert Softwarepaket. Das System selbst ist völlig kostenlos – Sie müssen lediglich Geld für das Hosting oder einen Hardware-Server ausgeben, um es bereitzustellen.

Doch im Laufe seines Bestehens hat das Tool nie eine große Community gefunden. Obwohl er war Teil des Linux Developer Network, verantwortlich für die Standardisierung des offenen Betriebssystems. Es kann schwierig sein Finden Sie die Antwort auf Ihre Frage in thematischen Foren. Aber einer der Quora-Bewohner bemerkte das IRC-Chat Auf Freenode reagieren die Community-Mitglieder recht bereitwillig. Das Problem einer kleinen Gemeinschaft ist nicht global, da die Lösung vieler Probleme beschrieben wurde in der offiziellen Dokumentation (PDF und EPUB). Ebenda. Sie können finden Best Practices für die Arbeit mit OBS (es gibt Beispiele und Fälle).

Rundeck

Werkzeug öffnen (GitHub), das Aufgaben im Rechenzentrum und in der Cloud mithilfe von Skripten automatisiert. Für deren Ausführung ist ein spezieller Skriptserver zuständig. Wir können sagen, dass Rundeck eine „Tochter“ der ControlTier-Anwendungsmanagementplattform ist. Rundeck trennte sich 2010 davon und erwarb neue Funktionalitäten – zum Beispiel Integrationen mit Puppet, Chef, Git und Jenkins.

Das System wird verwendet in The Walt Disney Company, Salesforce и Ticketmaster. Aber auch für Startups ist das Projekt geeignet. Dies liegt daran, dass Rundeck unter der Apache v2.0-Lizenz lizenziert ist. Darüber hinaus ist das Tool recht einfach zu bedienen.

Ein Reddit-Bewohner, der mit Rundeck zusammengearbeitet hat, sagt, was die meisten Schwierigkeiten alleine gelöst hat. Sie haben ihm dabei geholfen Dokumentation und E-Books, veröffentlicht von den Entwicklern.

Kurzanleitungen zur Einrichtung des Tools finden Sie auch online:

GoCD

Werkzeug öffnen (GitHub) zur Automatisierung der Codeversionskontrolle. Es wurde 2007 vom Unternehmen eingeführt Thought – damals hieß das Projekt Cruise.

GoCD wird von Ingenieuren der Online-Autoverkaufsseite AutoTrader, des Genealogiedienstes Ancestry und des Kreditkartenanbieters Barclaycard verwendet. Allerdings ein Viertel der Tool-Nutzer handelt es sich um ein Kleinunternehmen.

Die Beliebtheit des Dienstes bei Startups lässt sich durch seine Offenheit erklären – er wird unter der Apache v2.0-Lizenz vertrieben. Gleichzeitig GoCD Es hat Plugins zur Integration mit Software von Drittanbietern – Autorisierungssystemen und Cloud-Lösungen. Wahres System ziemlich kompliziert im Mastering gibt es eine große Anzahl von Operatoren und Teams. Außerdem beschweren sich einige Benutzer über die schlechte Benutzeroberfläche und müssen Konfigurieren Sie Agenten für die Skalierung.

CICD für Startups: Welche Tools gibt es und warum nicht nur große und namhafte Unternehmen sie nutzen
Фото - Matt Wildbore – Unsplash

Wenn Sie GoCD in der Praxis ausprobieren möchten, finden Sie es auf der Projektwebsite offizielle Dokumentation. Es kann auch als zusätzliche Informationsquelle empfohlen werden GoCD-Entwicklerblog mit Handbüchern beim Setup.

Jenkins

Jenkins ist weithin bekannt und als eine Art Standard im CICD-Bereich - ohne ihn wäre diese Auswahl natürlich nicht ganz vollständig. Das Tool erschien im Jahr 2011, werden ein Fork von Project Hudson von Oracle.

Heute mit Jenkins arbeiten bei der NASA, Nintendo und anderen großen Organisationen. Jedoch mehr 8% Benutzerkonto für kleine Teams von bis zu zehn Personen. Das Produkt ist völlig kostenlos und wird vertrieben unter MIT-Lizenz. Allerdings müssen Sie Jenkins selbst hosten und konfigurieren – es erfordert einen dedizierten Server.

Im Laufe der gesamten Existenz des Instruments hat sich eine große Community um es herum gebildet. Benutzer kommunizieren aktiv in Threads Reddit и Google Groups. Materialien zu Jenkins erscheinen auch regelmäßig auf Habré. Wenn Sie Teil der Community werden und mit Jenkins zusammenarbeiten möchten, gibt es das offizielle Dokumentation и Entwicklerhandbuch. Wir empfehlen außerdem folgende Ratgeber und Bücher:

Jenkins hat mehrere nützliche Nebenprojekte. Das erste ist ein Plugin Konfiguration als Code. Es erleichtert die Einrichtung von Jenkins mit leicht lesbaren APIs, die auch Administratoren ohne umfassende Kenntnisse des Tools verstehen können. Das zweite ist das System Jenkins X. für die Cloud. Es beschleunigt die Bereitstellung von Anwendungen, die auf einer großen IT-Infrastruktur bereitgestellt werden, indem es einige Routineaufgaben automatisiert.

Baubot

Dabei handelt es sich um ein kontinuierliches Integrationssystem zur Automatisierung des Erstellungs- und Testzyklus von Anwendungen. Bei jeder Änderung überprüft es automatisch die Funktionalität des Codes.

Der Autor des Tools war der Ingenieur Brian Warner. Heute ist er im Dienst geändert die Initiativgruppe des Buildbot Oversight Committee, der sechs Entwickler angehören.

Baubot benutzt Projekte wie LLVM, MariaDB, Blender und Dr.Web. 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, indem es Python zu deren Beschreibung verwendet. Es wird Ihnen helfen, mit ihnen allen umzugehen. offizielle Dokumentation und Tutorials von Drittanbietern, hier ist eine kurze Anleitung IBM-Handbuch.

Natürlich das ist nicht alles DevOps-Tools, auf die kleine Organisationen und Startups achten sollten. Geben Sie in den Kommentaren Ihre Lieblingswerkzeuge an und wir werden versuchen, in einem der folgenden Materialien darüber zu sprechen.

Worüber wir im Unternehmensblog schreiben:

Source: habr.com

Kommentar hinzufügen