Travis- czuje dobrze człowiek

Przy okazji prowadzenia projektu miałem tę przyjemność przeprowadzić integrację z Travis CI. Robiłem to pierwszy raz, chociaż używałem go już wcześniej. Mimo to wszystko zajęło mi nie więcej niż 0.5h, a efekty są niezwykle zadowalające.

Co to jest Travis? Travis, a właściwie Travis CI to usługa continuous integration. Odpala nasze testy w chmurze przy każdorazowym pushu na githuba, dając nam feedback na temat stanu naszego projektu. Tylko tyle i aż tyle. Wszystko odbywa się w bez naszego zaangażowania, gwarantując nam spokojny sen.

Warto wspomnieć o cenie spokoju. Dla projektów open-source Travis jest darmowy. Gorzej jeśli chodzi o repozytoria prywatne. Stawki zaczynają się od 129$/miesiąc co na Polskie realia może być zbyt dużą sumą by pozwolić sobie na integrację projektów “do szuflady”. Usługa znajduje się w pakiecie GitHub Student Developer Pack, więc studenci mają zniżkę 100% na najbardziej podstawowy płatny pakiet (osobiście polecam).

Co ciekawe Travis jest projektem open-source. Jego kod można znaleźć na githubie i podobno można sobie postawić instancję na własnym serwerze. Nie próbowałem, nie wypowiadam się. Zresztą, usług continuous integration tego typu przeznaczonych do własnoręcznej instalacji jest dużo więcej (chociażby sławny jenkins). Jednak należy pamiętać że konfiguracja i samodzielne utrzymanie wymaga zdecydowanie więcej wysiłku.

Bo o wysiłek tutaj chodzi. Konfiguracja Travisa jest maksymalnie prosta. Pierwszy krok to rejestracja. Używane jest do niej nasze konto na githubie, więc ogranicza się do dwóch kliknięć i przeczytania regulaminu (joke). Po rejestracji oczom naszym ukazuje się piękny dashboard wraz z listą naszych repozytoriów. Musimy zaznaczyć projekt który chcemy zintegrować. Teraz wystarczy dodać plik .travis.yml do repozytorium. Jego treść wpływa na to w jaki sposób zbudowane zostanie środowisko do testów, oraz metodę ich odpalenia. W internecie można znaleźć gotowe rozwiązania, a sposób konfiguracji sprawia że wcielanie w życie customowych rozwiązać nie powinno stanowić większego problemu. Commitujemy zmiany, robimy push i gotowe. Po chwili powinniśmy zostać poinformowani o rezultacie naszych testów.

Lista języków które wspiera Travis jest bardzo długa. Mogę zaświadczyć że do spokojnie można dopisać do niej vimscript (na okrętkę, ale działa stabilnie). Oferuje również wiele funkcji dodatkowych takich jak automatyzacja deploymentów, testowanie pull requestów, czy zaawansowane notyfikacje. Wbrew pozorom, wcielenie w życie tych feauterów nie jest jednak niczym strasznym. To wszystko, wraz z cudownym interfejsem oraz rozbudowaną dokumentacją robi z Travisa narzędzie z którego wprost czerpie się przyjemność podczas korzystania. Śmiało polecam.