Pandify - porady jak projektować strony internetowe, darmowe materiały, liczne inspiracje web design.

BuddyWorks – alternatywa dla DeployBota

Artykuł pojawił się 14.12.2016, autorem jest Maciek Palmowski i wpadł do kategorii Workflow

Po moim ostatnim artykule o DeployBot skontatkował się ze mną Rafał z BuddyWorks z propozycją przetestowania ich aplikacji. Jako, że akurat miałem na tapecie jeden projekt, to chętnie skorzystałem z propozycji.

Pierwsze wrażenie i sprawy finansowe

Zarejestrowałem się, zalogowałem i… po prostu wow. Interfejs jest śliczny, bardzo intuicyjny i czytelny. Podpięcie projektu poszło prawie od ręki. Reasumując – w ciągu pół godziny naszykowałem sobie pipeline do wrzucania projektu na serwer oraz pingownicę sprawdzającą czy serwer żyje.

buddyworks1

Jeśli chodzi o finanse to BuddyWorks jest zbliżony do ceny DeployBota, ma jednak dwie zalety, których nie ma DepoyBot:

  • jeden projekt jest za darmo – możemy więc naprawdę dogłębnie potestować czy BuddyWorks nam odpowiada.
  • możliwość instalacji na własnym serwerze – jest też edycja darmowa dla 10 userów

Trzeba też wziąć pod uwagę, że obie usługi się od siebie różnią – DeployBot służy tylko do deploymentu, BuddyWorks pozwala na więcej (fantazja i to co jest w obrazie Dockera ogranicza jak stworzymy nasze pipeline’y).

Tworzymy pingownicę

Jeżeli utrzymujemy kilka stron powinno nam zależeć na tym, żeby wiedzieć czy wszystkie nasze serwery odpowiadają. Stwórzmy więc prostą pingownicę, która będzie co 5 minut sprawdzać nasz serwer. Jeżeli nie będzie odpowiedzi to wyśle nam maila o treści „Serwer nie działa”, a w momencie kiedy wszystko wróci do normy otrzymamy maila „Serwer ożył”.

Najpierw tworzymy pipeline i ustawiamy w nim wywołwanie się co 5 minut:

buddyworks2

Dodajemy w nim wysyłanie pinga:

buddyworks3

Wysyłamy maile w zależności od sytuacji:

buddyworks4

Oczywiście zamiast maila możemy ustawić, aby powiadomienia były wysyłane na Slacka albo SMSem.

Deployment serwisu

Jako, że nasz testowy serwis jest oparty o Sage to cały proces składa się z następujących kroków:

  • npm install
  • bower install
  • gulp
  • przerzucenie plików sftp na serwer docelowy

Najpierw podajemy więc tryb (w naszym przypadku ręczny) oraz branch (development).

buddyworks5

Następnie dodajemy pierwszą akcję – będziemy pracować na obrazie dockera z Node.js.

buddyworks6

Poleceniem, które będziemy wykonywać za każdym będzie:

gulp

Następnie w zakładce Packages & Setup Commands wpisujemy te polecenia, które chcemy odpalić tylko raz:

npm -g install bower gulp
npm install
bower --allow-root install

Następnie wybieramy jeszcze jedną akcję – Transfer SFTP. Tutaj po prostu podajemy dane naszego serwera, a następnie podajemy których plików chcemy nie wgrywać.

buddyworks7

Pozostaje jeszcze dodać akcję o wysyłce maila jeżeli coś pójdzie źle i violla.

buddyworks8

Co lepsze?

Trudno jednoznacznie powiedzieć, bo wszystko zależy jakie są nasze wymagania i priorytety.

W tych kwestiach BuddyWorks wygrywa:

  • wersja darmowa dla jednego projektu – to jest strasznie ważna rzecz dla wielu programistów, którzy dłubią sobie po godzinach jakiś projekt.
  • kwestia estetyczna – nie jest to priorytet, ale naprawdę cieszy oko i sprawia, że pracuje się milej.
  • możliwości – możemy tworzyć długie i skomplikowane pipeline’y – tutaj naprawdę ogranicza nas tylko wyobraźnia.
  • możliwość instalacji na własnym serwerze – dla wielu firm to priorytet.

Gdzie DeployBot wygrywa:

  • w pewnych sytuacjach jest tańszy (wszystko zależy ile repozytoriów potrzebujemy)
  • jest to usługa tylko do jednego – myślę, że jest część osób, których nadmiar możliwości BuddyWorks może na początku troszkę przestraszyć.

Jest jeszcze jeden element, który jest strasznie ważny – stabilność działania i support. Przez ponad rok intensywnego wykorzystywania DeployBota nie miałem z nim poważniejszych problemów.

Nie mam jeszcze takiej wiedzy o BuddyWorks – takie rzeczy będę dopiero wiedział za jakiś czas (a wszystko wskazuje, że co najmniej jeden projekt tutaj zostanie).

Maciek Palmowski

Jestem programistą - hobbystycznie i zawodowo (pracuję w In'saneLab). Kiedy jednak odejdę od klawiatury jeżdżę na rowerze, biegam albo gram w gry.

Bądź na bieżąco!

Jeżeli chcesz otrzymywać informacje o najnowszych wpisach na blogu Pandify.pl zapisz się do naszego newslettera za pomocą poniższego formularza. Obiecujemy nie wysyłać nic więcej.

  • Też zacząłem używać! 😀

    Akurat wolnego VPS miałem i zainstalowałem Buddy GO. Śmiga jak marzenie

    • Maciek Palmowski

      No właśnie pewnie od tego większe testy firmowe zaczniemy. Na próbę wrzuci się 4-5 projektów rozwijanych na raz i zobaczymy efekty 🙂

  • Rafal Sztwiorok

    @maciekpalmowski:disqus cieszę się, że miałeś czas sprawdzić Buddiego.

    jedna uwaga „npm install” powinien być wywołany w „run commands” a nie w „packages”.

    jak tylko macie jakieś uwagi/sugestie to dajcie znać.