Cześć @piotr-galas, przydatny post, dzięki! Sam korzystam (w mniejszym lub większym stopniu) z Jenkins i zaciekawiło mnie stwierdzenie, że Jenkins jest reliktem przeszłości. Rozwiniesz? :)
Pozdrawiam
Cześć @piotr-galas, przydatny post, dzięki! Sam korzystam (w mniejszym lub większym stopniu) z Jenkins i zaciekawiło mnie stwierdzenie, że Jenkins jest reliktem przeszłości. Rozwiniesz? :)
Pozdrawiam
Dobre pytanie, zmusiło mnie do tego aby zrobić mały research. Projekt powstał w 2011, więc nie jest jeszcze taki stary, choć jego początek sięga projektu Hudson i roku 2005. Patrząc w internecie jest jednym z najpopularniejszych CI. Ma też pluginy które właściwie rozszerzają jego funkcjonalność w dowolny sposób.
Moja opinia wynika z tego, że dziś takie rzeczy można zrobić naprawdę dużo prościej. Nie trzeba mieć własnego serwera, konfugurować go, dbać o jego bezpieczeństwo. Moje doświadczenia z Jenkinsem nie są zbyt dobre. Generalnie przynajmniej kilka razy w tygodniu coś się psuło, przez co zamiast pracować rozwiązywałem problemy z bulidami kolegów. Był moment, że jak słyszałem "Piotrek... build mi niprzeszedł. Chyba Jenkins nie działa" robiłem się czerwony.
Myślę, że zdecydowanie łatwiej jest wrzucić do repozytorium plik konfuguracyjny (łatwy i intuicyjny), oparty o DSL zbliżony do Dockera. Reszta dzieje się sama. Zarówno na Bitbucket Pipelines jak i na GitLab CI na których ostatnio pracuje, błędy związane z konfiguracją zdarzają się bardzo rzadko. Wydaje mi się, że w dzisiejszych czasach lepiej jest zapłacić za CI i nie poświęcać czasu na konfigurowanie go.
Jeśli jednak ktoś potrzebuje jakiejś bardzo specyficznej rzeczy, to pewnie Jenkins się przyda.
Innym aspektem jest to, że w swojej karierze widziałem tylko jeden projekt oparty o Jenkinsa, który zresztą sam konfigurowałem i zaczynałem. Taka była decyzja naszego teemu. Wszyskie inne projekty korzystały z rozwiazań typu SAAS.
Chciałem też podkreślić, że jest to moja prywatna opinia i nie chciałem nią nikogo urazić. Post kierowany był raczej do osób które zaczynają przygodę z programowaniem. Weźmy np programistę JS który ma 1 rok doświadczenia. Czy będzie on w stanie postawić CI Jenkinsa? Pewnie miałby z tym problem. A czy byłby w stanie postawić CI oprate np o Bitbucket Pipelines, albo Travisa? Myślę że bez problemu
Cześć @piotr-galas, interesujący i wyczerpujący komentarz :) Dzięki!
Muszę się zgodzić w 100% w kwestii instalacji i konfiguracji Jenkins'a, może to być mozolny proces. Zaczynając z Jenkinsem niejednokrotnie potrzebowałem pomocy administratora, mnóstwo czasu poświęciłem na poszukiwania, instalację i konfigurację wtyczek, a i tak koniec końców pojawiały się problemy. Raz zdarzyło się nawet, że ktoś dostał się do naszego serwera produkcyjnego właśnie poprzez Jenkins'a (build'y były deploy'owane przez SSH-plugin, a Jenkins dostępny z zewnątrz) i odpalił tam sobie algorytm do kopania krytowalut :)
Zgadzam się, natomiast dodałbym od siebie, że niekoniecznie musi to być najlepsza decyzja, gdy potrzebujemy rozwiązania 'szytego na miarę', choćby ze względu na niezliczoną ilość wtyczek do Jenkins, o których wspomniałeś. W przypadku małego zespołu, trafiłeś w sedno.
Powiem szczerze, że po przeczytaniu Twojego komentarza, zaczynam się poważnie zastanawiać nad przetestowaniem Pipelines. Chodziło mi to po głowie od jakiegoś czasu, choćby ze względu na to, że w zespole korzystamy z BitBucket'a - brakowało mi jednak wystarczającego bodźca :)
P.S.: Skoro jesteśmy już przy temacie CI, to czy może ktoś słyszał/korzystał z TeamCity (od JetBrains)?
Korzystałem z TeamCity, na jednym projekcie, ale byłem juniorem i nie zastanawiałem się nad koniguracją. Projekt bazował na testach integrayjnych które trwały straszną ilość czasu. Nie pamiętam dokładnie ile, ale na pewno ponad 1h. TeamCity jakoś sobie z tym radziło. Było kilka równoległych workerów( chyba 4).
Kiedy odchodziłem z projektu, były pomysły aby zmienć TeamCity, bo koszty były zbyt wysokie.
Odnośnie CI i wyboru najodpowiedniejszego polecam fajny artykuł
https://codete.com/blog/make-apps-not-infrastructure/
Z TeamCity co prawda nie korzystałem, ale używam Bamboo i jestem bardzo zadowolony (z bitbucketem)
He he :) też na to zwróciłem uwagę, sam używam tego kombajnu i ciekawy jestem co Piotr miał na myśli :)