Sort:  

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 :)

Wydaje mi się, że w dzisiejszych czasach lepiej jest zapłacić za CI i nie poświęcać czasu na konfigurowanie go.

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 :)

Coin Marketplace

STEEM 0.27
TRX 0.11
JST 0.030
BTC 68988.65
ETH 3774.14
USDT 1.00
SBD 3.43