Cześć,
stoję przed koniecznością postawienia dwóch instancji jakiegoś rodzaju rozwiązania continuous integration. Patrzę na Jenkinsa, widzę Javę, więc szukam dalej. ;)
Generalnie potrzebujemy czegoś, co: - będzie odpalać taski zgodnie z zadanym harmonogramem (nie, cron nie wystarczy) - będzie mogło reagować na zdarzenia zewnętrzne (jakiś message passing, albo np. "o, zmienił się plik, odpalam taska"/"o, zostało coś pusznięte, odpalam taska") - mieć sensowne logi - zbierać dane o tym, czy dany task się powiódł, czy nie - mieć sensowny dashboard dający jednym rzutem oka pogląd na stan całej infrafiufiury - mieć możliwość wysłania powiadomień mailem
Im prostsze, tym lepsze. Ktoś coś?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 10.09.2015 16:39, rysiek wrote:
Cześć,
stoję przed koniecznością postawienia dwóch instancji jakiegoś rodzaju rozwiązania continuous integration. Patrzę na Jenkinsa, widzę Javę, więc szukam dalej. ;)
Generalnie potrzebujemy czegoś, co: - będzie odpalać taski zgodnie z zadanym harmonogramem (nie, cron nie wystarczy) - będzie mogło reagować na zdarzenia zewnętrzne (jakiś message passing, albo np. "o, zmienił się plik, odpalam taska"/"o, zostało coś pusznięte, odpalam taska") - mieć sensowne logi - zbierać dane o tym, czy dany task się powiódł, czy nie - mieć sensowny dashboard dający jednym rzutem oka pogląd na stan całej infrafiufiury - mieć możliwość wysłania powiadomień mailem
Im prostsze, tym lepsze. Ktoś coś?
elo
'najprostsze' to bedzie buildbot chyba, ma najwieksze mozliwosci, calosc w pythongu, troche sie trzeba nakonfigurowac
przy okazji - Jenkins jest calkiem prosty, jest dosc niezly, obraz do dockera do niego jest, takze nie trzeba samemu javowac
te dwa na pewno polecam, z cala reszta pracowalem i polecam tak sobie, zwlaszcza jak chodzi o selfhosted
pozdrawiam, buziaczki
On Thu, 10 Sep 2015 16:39:53 +0200 rysiek rysiek@hackerspace.pl wrote:
Cześć,
stoję przed koniecznością postawienia dwóch instancji jakiegoś rodzaju rozwiązania continuous integration. Patrzę na Jenkinsa, widzę Javę, więc szukam dalej. ;)
Generalnie potrzebujemy czegoś, co:
- będzie odpalać taski zgodnie z zadanym harmonogramem (nie, cron
nie wystarczy)
- będzie mogło reagować na zdarzenia zewnętrzne (jakiś message
passing, albo np. "o, zmienił się plik, odpalam taska"/"o, zostało coś pusznięte, odpalam taska")
- mieć sensowne logi
- zbierać dane o tym, czy dany task się powiódł, czy nie
- mieć sensowny dashboard dający jednym rzutem oka pogląd na stan
całej infrafiufiury
- mieć możliwość wysłania powiadomień mailem
Im prostsze, tym lepsze. Ktoś coś?
Buildbot. http://trac.buildbot.net/
W dniu 10.09.2015 o 16:39, rysiek pisze:
Cześć,
stoję przed koniecznością postawienia dwóch instancji jakiegoś rodzaju rozwiązania continuous integration. Patrzę na Jenkinsa, widzę Javę, więc szukam dalej. ;)
Jenkins jest stosunkowo lekki jak na javowy tool. U mnie na jednym z serwerów z powodzeniem się w 1GB ramu mieści, a przy 2GB rozwija skrzydła, przy 4GB zostaje z pół pamięci luzem.
Zawsze powtarzam, że to że w javie napisane, nie znaczy automatycznie że super ciężkie, po prostu w javie trudniej napisać coś lekkiego.
Dnia czwartek, 10 września 2015 17:05:31 Łukasz 'Cyber Killer' Korpalski pisze:
Jenkins jest stosunkowo lekki jak na javowy tool. U mnie na jednym z serwerów z powodzeniem się w 1GB ramu mieści, a przy 2GB rozwija skrzydła, przy 4GB zostaje z pół pamięci luzem.
Dnia czwartek, 10 września 2015 16:46:31 cyryl pisze:
'najprostsze' to bedzie buildbot chyba, ma najwieksze mozliwosci, calosc w pythongu, troche sie trzeba nakonfigurowac
przy okazji - Jenkins jest calkiem prosty, jest dosc niezly, obraz do dockera do niego jest, takze nie trzeba samemu javowac
Dnia czwartek, 10 września 2015 16:48:07 Radomir Dopieralski pisze:
Buildbot. http://trac.buildbot.net/
Dziękba. Stestujemy sobie pewnie oba, choć serce mi się do Buildbota rwie. :)
2015-09-10 7:39 GMT-07:00 rysiek rysiek@hackerspace.pl:
Im prostsze, tym lepsze. Ktoś coś?
https://about.gitlab.com/gitlab-ci/
Btw, Jenkins to zło.... Wielka badziewiasta, javowa krowa z konfigami w xmlu...
Pozdrawiam, v
On Thu, 10 Sep 2015 13:01:53 -0700 Maciej Sawicki viroos.pl@gmail.com wrote:
2015-09-10 7:39 GMT-07:00 rysiek rysiek@hackerspace.pl:
Im prostsze, tym lepsze. Ktoś coś?
https://about.gitlab.com/gitlab-ci/
Btw, Jenkins to zło.... Wielka badziewiasta, javowa krowa z konfigami w xmlu...
Gorzej. W YAML-u.
Z drugiej strony Buildbot to nie tyle gotowy produkt, co zestaw narzędzi żeby sobie taki zbudować. Z jednej strony bardziej elastyczne, z drugiej trzeba wiedzieć czego się chce... Oba mają swoje zady i walety.
Dnia czwartek, 10 września 2015 13:01:53 Maciej Sawicki pisze:
2015-09-10 7:39 GMT-07:00 rysiek rysiek@hackerspace.pl:
Im prostsze, tym lepsze. Ktoś coś?
O, zaje, myślimy o ruchu z GitHuba na self-hostowanego GitLaba. Więc dodane do testowania. :)
Btw, Jenkins to zło.... Wielka badziewiasta, javowa krowa z konfigami w xmlu...
O..k.
On 10.09.2015 22:01, Maciej Sawicki wrote:
Btw, Jenkins to zło.... Wielka badziewiasta, javowa krowa z konfigami w xmlu...
Nie jestem w stanie się w pełni zgodzić.
Jest wielki o tyle, że ma dużo funkcjonalności, ale nie trzeba z wszystkich naraz korzystać. Konfiguracja może być i wyryta pismem linearnym B na glinianej tabliczce na dnie antarktycznego, podlodowego jeziora, w ciągu 2,5 roku nie musiałem zaglądać do gołego pliku konfiguracyjnego, wbudowane edytory konfiguracji są dość przyjazne.
Jenkins ma problemy wydajnościowe, ale dopiero wtedy, kiedy się na nim skonfiguruje gazylion wymyślnych jobów, ale taka sytuacja ma miejsce gdy użytkownikom odbije lub gdy pracuje się w korporacji.
Dopóki użytkownicy nie zaczną stawiać cudacznych konfiguracji setek jobów, to Jenkins się nadaje, szczególnie, że jego konfiguracja i użytkownie jest głupoodporne. Jeśli ktoś chce cudować, to chyba żaden CI mu nie pomoże, ani nie przeszkodzi. ;)
Nie twierdzę, że to jest szczytowe osiągnięcie techniki, ale twierdzenie, że "be, bo Java i XML" jest absurdalne. Jest, spełnia swoje zadania, a ze względu na popularność łatwo znaleźć rozwiązania problemów. Największą tragedią tego oprogramowania jest... polskie tłumaczenie. Mi krwawią oczy, jak widzę CI kolegów z innych teamów z ustawionym językiem polskim. :)