Travis CI + GitHub – dlaczego warto?

Travis CI to narzędzie do Continuous Integration. Działa tak, że za każdym razem, gdy wprowadzimy zmiany do naszego kodu (poprzez push lub pull request), Travis zacznie budować projekt. Dzięki temu od razu dowiemy się czy nowy kod czegoś nie zepsuł i w razie czego dostaniemy stosowne powiadomienie, więc nie musimy tego sprawdzać ręcznie. Ot, kolejny soft ułatwiający życie, czyli coś co lubi chyba każdy programista. 🙂

Build flow

Przebieg pracy Travisa wygląda mniej więcej tak:

  1. Github powiadamia Travisa o zmianach w kodzie.
  2. Projekt jest budowany.
  3. W przypadku sukcesu następuje deploy aplikacji (jeśli czynnikiem wyzwalającym był push, a nie pull request).
  4. Dostajemy powiadomienie o zakończonym buildzie (niezależnie od wyniku).

A teraz w czterech punktach przedstawię powody, dla których moim zdaniem warto spróbować:

1. Darmowy dla projektów Open Source

Jeśli rozwijamy na Githubie projekt open source, to z Travisa możesz korzystać zupełnie za darmo, dla nieograniczonej liczby repozytoriów.

2. Współpraca z Githubem

Po połączeniu z naszym profilem, Travis potrafi m.in. wyświetlać w różnych miejscach na Githubie informacje o buildzie. Jest to bardza fajna opcja, przykładowo podczas mergowania pull requesta, w czasie rzeczywistym widzimy czy nasz projekt się buduje dzięki czemu mamy wszystkie potrzebne informacje w jednym miejscu.

3. Łatwa konfiguracja

Konfiguracja sprowadza się do stworzenia pliku .travis.yml, w którym umieszczamy wszystkie informacje nt. naszego projektu. Używa się do tego formatu YAML, więc jest przejrzyście. Dla przykładu tak wygląda mój config:

4. Integracje

Możliwości nie kończą się na samym budowaniu projektu. Travis potrafi też współpracować m.in. z takim oprogramowaniem jak SonarQube (kontrola jakości kodu) czy SourceClear (analiza kodu pod kątem bezpieczeństwa). Oprócz tego można też zautomatyzować deploy naszej aplikacji, dzięki integracji z AWS, Azure czy Heroku.

Jak widać Travis to całkiem sprytne narzędzie, które odpowiednio skonfigurowane potrafi zaoszczędzić sporo czasu i pozwala skupić się na programowaniu.

Jeśli chciałbyś dowiedzieć się więcej na ten temat, zachęcam do spojrzenia w dokumentację. 🙂

  • vevurka

    Teraz to już muszę podpiąć travisa do mojego repo 😉

  • Fajny artykuł. Chętnie spróbuję.