CICD dla startupów: jakie narzędzia istnieją i dlaczego korzystają z nich nie tylko duże i znane firmy

Twórcy narzędzi CICD często wymieniają jako klientów duże firmy – Microsoft, Oculus, Red Hat, a nawet Ferrari i NASA. Wydawać by się mogło, że takie marki pracują tylko z drogimi systemami, na które nie może sobie pozwolić startup składający się z kilku programistów i projektanta. Jednak znaczna część narzędzi jest dostępna dla małych zespołów.

Poniżej podpowiemy Ci, na co możesz zwrócić uwagę.

CICD dla startupów: jakie narzędzia istnieją i dlaczego korzystają z nich nie tylko duże i znane firmy
Фото - Csaby Balazsa — Rozpryskiwanie

Cenzor PHP

Serwer CI typu open source, który ułatwia tworzenie projektów w języku PHP. To rozwidlenie projektu PHPCI. Samo PHPCI wciąż się rozwija, ale już nie tak aktywnie jak wcześniej.

PHP Censor może współpracować z GitHubem, GitLabem, Mercurialem i kilkoma innymi repozytoriami. Do testowania kodu narzędzie wykorzystuje biblioteki Atoum, PHP Spec, Behat, Codeception. Tutaj przykładowy plik konfiguracje dla pierwszego przypadku:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

Rozważanyże PHP Censor dobrze nadaje się do wdrażania małych projektów, ale będziesz musiał go hostować i konfigurować samodzielnie (samodzielnie). Zadanie to ułatwia dość szczegółowa dokumentacja - jest na GitHubie.

Rex

Rex to skrót od Remote Execution. System został opracowany przez inżyniera Ferenca Erki w celu automatyzacji procesów w centrum danych. Rex opiera się na skryptach Perla, jednak do obsługi narzędzia nie jest konieczna znajomość tego języka - większość operacji (np. kopiowanie plików) jest opisana w bibliotece funkcji, a skrypty często mieszczą się w dziesięciu linijkach. Oto przykład logowania do wielu serwerów i utrzymywania czasu pracy:

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;
};

Zalecamy rozpoczęcie zapoznania się z narzędziem oficjalny przewodnik и e-book, który jest obecnie na ukończeniu.

Otwarta usługa kompilacji (OBS)

Jest to platforma służąca optymalizacji rozwoju dystrybucji. Jego kod jest otwarty i znajduje się w repozytorium pod adresem GitHub. Autorem narzędzia jest firma Novell. Brała udział w rozwoju dystrybucji SuSE, a projekt ten początkowo nosił nazwę openSUSE Build Service. Nic dziwnego, że usługa Open Build Service posługiwać się do budowania projektów w openSUSE, Tizen i VideoLAN. Dell, SGI i Intel również współpracują z tym narzędziem. Ale wśród zwykłych użytkowników są też małe startupy. Specjalnie dla nich autorzy zebrali (strona 10) wstępnie skonfigurowane pakiet oprogramowania. Sam system jest całkowicie darmowy – aby go wdrożyć, wystarczy wydać pieniądze na hosting lub serwer sprzętowy.

Ale przez całe swoje istnienie narzędzie nigdy nie zyskało szerokiej społeczności. Chociaż on był część Linux Developer Network, odpowiedzialna za standaryzację otwartego systemu operacyjnego. To może być trudne Znajdź odpowiedź na swoje pytanie na forach tematycznych. Ale jeden z mieszkańców Quora zauważył, że w Czat IRC Na Freenode członkowie społeczności reagują dość łatwo. Problem małej społeczności nie ma charakteru globalnego, gdyż opisano rozwiązania wielu problemów w oficjalnej dokumentacji (PDF i EPUB). Tamże. może znaleźć najlepsze praktyki pracy z OBS (są przykłady i przypadki).

Rundeck

Otwórz narzędzie (GitHub), który automatyzuje zadania w centrum danych i chmurze za pomocą skryptów. Za ich wykonanie odpowiada specjalny serwer skryptów. Można powiedzieć, że Rundeck jest „córką” platformy do zarządzania aplikacjami ControlTier. Rundeck oddzielił się od niego w 2010 roku i zyskał nową funkcjonalność – m.in. integracje z Puppet, Chef, Git czy Jenkins.

W systemie zastosowano Walt Disney Company, Salesforce и Ticketmaster. Ale projekt nadaje się również dla startupów. Dzieje się tak dlatego, że Rundeck jest objęty licencją Apache v2.0. Co więcej, narzędzie jest dość łatwe w użyciu.

Mieszkaniec Reddita, który współpracował z Rundeck, mówi, co rozwiązało większość problemów samodzielnie. Pomogli mu w tym dokumentacja i e-booki, opublikowane przez twórców.

Krótkie instrukcje dotyczące konfiguracji narzędzia można także znaleźć w Internecie:

GoCD

Otwórz narzędzie (GitHub) automatyzacja kontroli wersji kodu. Został wprowadzony przez firmę w 2007 roku ThoughtWorks — wtedy projekt nazywał się Cruise.

GoCD jest używany przez inżynierów z internetowego serwisu sprzedaży samochodów AutoTrader, serwisu genealogicznego Ancestry i dostawcy kart kredytowych Barclaycard. Jednak jedna czwarta użytkowników narzędzi stanowi małą firmę.

Popularność usługi wśród startupów można wytłumaczyć jej otwartością – dystrybuowana jest na licencji Apache v2.0. W tym samym czasie GoCD Ma wtyczki do integracji z oprogramowaniem firm trzecich – systemy autoryzacyjne i rozwiązania chmurowe. Prawdziwy system nieco skomplikowane w masteringu - ma dużą liczbę operatorów i zespołów. Ponadto niektórzy użytkownicy narzekają na słaby interfejs i potrzeba skonfiguruj agentów do skalowania.

CICD dla startupów: jakie narzędzia istnieją i dlaczego korzystają z nich nie tylko duże i znane firmy
Фото - Matta Wildbore’a — Rozpryskiwanie

Jeśli chcesz wypróbować GoCD w praktyce, znajdziesz na stronie projektu oficjalna dokumentacja. Można ją również polecić jako źródło dodatkowych informacji Blog programistów GoCD z podręcznikami podczas konfiguracji.

Jenkins

Jenkins jest powszechnie znany i uważane swego rodzaju standard w zakresie CICD – oczywiście bez niego ten wybór nie byłby w pełni pełny. Narzędzie pojawiło się w 2011 roku, staw rozwidlenie Project Hudson od Oracle.

Dzisiaj z Jenkinsem działają w NASA, Nintendo i innych dużych organizacjach. Jednakże ponad 8% użytkownicy tworzą małe zespoły składające się z maksymalnie dziesięciu osób. Produkt jest całkowicie darmowy i dystrybuowany na licencji MIT. Będziesz jednak musiał samodzielnie hostować i konfigurować Jenkinsa - wymaga to dedykowanego serwera.

Przez całe istnienie instrumentu wokół niego utworzyła się duża społeczność. Użytkownicy aktywnie komunikują się w wątkach Reddit и Google Groups. Materiały na temat Jenkinsa regularnie pojawiają się także na Habré. Jeśli chcesz stać się częścią społeczności i rozpocząć współpracę z Jenkinsem, jest to możliwe oficjalna dokumentacja и przewodnik programisty. Polecamy także następujące poradniki i książki:

Jenkins ma kilka przydatnych projektów pobocznych. Pierwsza to wtyczka Konfiguracja jako kod. Ułatwia konfigurowanie Jenkinsa dzięki łatwym do odczytania interfejsom API, które mogą zrozumieć nawet administratorzy bez głębokiej wiedzy na temat narzędzia. Drugie to system Jenkins X dla chmury. Przyspiesza dostarczanie aplikacji wdrażanych w wielkoskalowej infrastrukturze IT poprzez automatyzację niektórych rutynowych zadań.

Budujbota

Jest to system ciągłej integracji, służący do automatyzacji cyklu budowania i testowania aplikacji. Automatycznie sprawdza funkcjonalność kodu za każdym razem, gdy zostaną wprowadzone w nim jakiekolwiek zmiany.

Autorem narzędzia był inżynier Brian Warner. Dziś jest na służbie zmieniony grupa inicjatywna Buildbot Oversight Committee, w skład której wchodzi sześciu programistów.

Budujbota używany projekty takie jak LLVM, MariaDB, Blender i Dr.Web. Ale jest również używany w mniejszych projektach, takich jak wxWidgets i Flathub. System obsługuje wszystkie nowoczesne VCS i ma elastyczne ustawienia kompilacji przy użyciu języka Python do ich opisu. Pomoże Ci uporać się z nimi wszystkimi. oficjalna dokumentacja i samouczki innych firm, na przykład tutaj jest krótki Podręcznik IBM.

Oczywiście to nie wszystko Narzędzia DevOps, na które powinny zwrócić uwagę małe organizacje i startupy. Podajcie w komentarzach swoje ulubione narzędzia, a my postaramy się o nich opowiedzieć w jednym z poniższych materiałów.

O czym piszemy na firmowym blogu:

Źródło: www.habr.com

Dodaj komentarz