Wpis z mikrobloga

Kolejny raz podchodzę do tematu CI/CD do własnych projektów. Przeszedłem już początki GitLaba i Jenkinsa. Mam też małe doświadczenie Githubem. Z punktu widzenia każdy nich ma dyskwalifikujące wady.

GitLab - kombajn do wszystkiego niby. Z tym, że ilość potrzebnych zasobów jest jakaś absurdalna. Nie chcę marnować sprzętu i prądu żeby sobie stało. Ostatnia wersja jaką zainstalowałem wciągała wszystkie CPU jakie tylko do niej wrzuciłem nie robiąc przy tym nic pożytecznego.

Jenkins - w sumie też kobyła ale o sensownych rozmiarach. Nawet spoko się to konfigurowało, ale ograniczenia i bugi. Może jakiś nieumiejętny jestem, nie udało mi się np w sensowny sposób sparametryzować budowania jednego repo dla kilkunastu platform używając jednej maszyny.

GitHub - działało to chyba najlepiej. Miało też sporo ograniczeń które jakoś udawało się w poprzedniej firmie przejść. Z bólami, ale jednak. Konieczność wykupienia płatnej wersja dla prywatnych repo nie jest bardzo kosztowna, jednak nie cały kod chcę tam trzymać, ani też nie chcę się uzależniać o GH. Na razie cena jest spoko, ale jak za chwilę wystrzeli x10 to znów będę szukał na wykopie.

Wszystko co robię prywatnie musi chodzić na moim sprzęcie bo jest dedykowane pod konkretne HW więc nie mam żadnego parcia, żeby wysyłać kod do chmury.

No i teraz znalazłem takie coś jak BuildBot. Na pierwszy rzut oka wygląda spoko. Lekki prób wejścia pewnie będzie, ale pozbawione jest powyższych wad. Tylko pytanie czy na pewno. W sieci mało jest info o tym systemie co trochę mnie martwi. Ma ktoś z was doświadczenia z BuildBotem?

#programista15k #jenkins #github #gitlab #cicd
  • 15
@relationbrewingarea: buildbot jest zdaje się używany w yocto, jest spoko. Ogólnie moim zdaniem zależy to od tego co konkretnie masz do zbudowania i jak sobie wyobrażasz pipeline. Banalnie prosto jest sobie ogarnąć skrypcik który odpala make / cargo czy w coś pod język w którym piszesz, zwłaszcza jak mówimy o własnym sprzęcie. Schody się robią jak chcesz się integrować z innymi usługami, czy bawić w jakieś helmy, teraforrmy, kubernetesy i inne
@BeginEnd: najlepszy jest mimo wszystko bitbucket + jenkins. Jenkins jest jaki jest ale masz milion porad w necie i wszystkim z czym się mierzysz już ktoś przeszedł, więc nawet taki GPT ci pomoże ogarnąć CI/CD

Te wszystkie nowe toole do CI/CD są zajebiste do czasu, aż trafisz na nietypowy problem. Wtedy nikt ci nie pomoże i byle pierdołę robisz tydzień-dwa marnując kupę czasu. Nie warto

Od lat słysze, że zaraz jenkins
@some_ONE: #!$%@? przykład bo java jest rozwijana od 30 lat, więc mówimy o przypadku czegoś dobrze znanego

A zmiana Jenkinsa na super fancy new 2024 CI/Cd spowoduje, że zrobienie czegokolwiek spoza oficjalnej dokumentacji (która często jest słaba) spowoduje, że będziesz siedział z problemem sam i miesiąc.

A do takiego jenkinsa na każdy problem masz 2137 odpowiedzi. Zależy czy jest to warte ryzyka. Ja tam devOpsem nie jestem
#!$%@? przykład bo java jest rozwijana od 30 lat, więc mówimy o przypadku czegoś dobrze znanego


@nad__czlowiek: nie rozumiem tego fragmentu, a jenkins jest rozwijany od 15 lat, tylko co to ma do rzeczy?

jako argument za jenkinsem podajesz to że w wielu firmach bez jenkinsa ani rusz, to tak samo bez javy 1.4 ani rusz?

nikt nie każe zmieniać na super fancy 2024 ci/cd, wystarczy na coś klasę wyżej od
  • 1
@rumcajs668: Jest za ciężki i do tego mało elastyczny. Gdyby była tylko jedna z tych opcji jeszcze bym przełknął, ale dedykowanie 1/2 serwera domowego tylko po to, żeby 4 razy w tygodniu coś odpalił i do tego mam się jeszcze nagimnastykować, żeby obkodzić dynamiczne konfigurowanie maszyn do egzekucji (nie będę trzymał ciągle włączonych kompów co wciągają 300W w idlu). Tak wiem że mogę zrobić żeby runner to robił, ale się wtedy
@Boska_Klaudia: gdzie niby? Wszędzie gdzie pracowałem to się odchodziło od Jenkinsa


@r00ti: to twoje osobiste doświadczenia, w moim przypadku trwa migracja z Atlassian Bamboo do Jenkinsa i większość poprzednich firm też używało Jenkinsa

@Boska_Klaudia Jenkins popularny był 10 lat temu, teraz wszystko po trochu. Z rozwiązań które można u siebie postawić to chyba teraz najpopularniejszy gitlab. Jest jeszcze sporo rozwiązań w chmurze


@zibizz1: to jest po prostu nieprawda, Jenkins
@Boska_Klaudia: W 2021 Jenkins miał 38% a Gitlab CI miał 15%
Dziś Jenkins ma 54% a Gitlab CI 51%

Jakbym wypełniał ankiete to tez bym wypełnił ze używam Jenkinsa[obsolete], GitlabCi, Azure Devops, gdzie 5 lat temu to był tylko Jenkins. Z moich osobistych odczuć wynika że firmy nadal używają Jenkinsa bo mają sporo pipelinów ale z uwagi na integrację z repozytoriami i systemem do zarzadznia projektami odchodzą od Jenkinsa.
@Boska_Klaudia to samo moge powiedziec o Twojej wypowedzi. To, ze ma taki udzial to wynika glownie z tego, ze nie bylo innego wyboru, a teraz jest to za drogie zeby przeniesc to w inne miejsce.