Voi cum folositi jenkins + pm2?

Probabil pentru cineva care foloseste de mult timp jenkins i se va pare poate banala intrebarea.

Doresc sa incep a folosi jenkins pe care l-am legat prin webhook la un repository.

Dupa push, jenkins preia codul, ruleaza npm install si pune fisierele in alta parte pe server.

Pentru serverul de node folosesc pm2 ca sa il tin on. Ideea este ca jenkins nu are access la instanta de pm2 cu care am pornit serverul node initial (pt ca a fost facuta cu userul root), in consecinta daca vreau sa dau reload la server din jenkins cu “pm2 reload name” nu va merge.

Cum accesez acelasi pm2 cu userul jenkins ca si cu userul root ?

Mersi!

Ai incercat asta?

Nu e chiar or subiect, dar poate ajuta: noi am trecut acum câțiva ani de la Jenkins la Gitlab si e genial. E mult mai modern și mai fain in zona de CI. Îmi place flow-ul de merge request-uri cu cod review, teste automate. Folosim și sistemul lui de issue tracking (deși aici nu excelează, dar e decent). Ajuta mult sa ai integrat și issue tracking.

1 Like

Poate ar fi o idee sa vezi daca poti folosi kubernetes direct cu node in imagine fara pm2, face lucrurile mult mai simple cu jenkins si orice sistem de CI/CD. Iti permite sa repornesti intreaga instanta in loc de procese. In experienta mea procesele pot sa ramana hanging si raman in zombie state chiar daca le dai kill si nu pornesc inapoi. (e.g cand vm-ul ramane fara memorie sau procesorul e la load maxim, ai depasit numarul maxim de conexiuni sau fisiere - totusi poate nu e o problema cu pm2, eu inca nu l-am folosit)
E util si sa dai clear la cache, node_modules si toate cele la un deploy altfel poate dai de bug-uri doar in productie.

In rest am gasit cum sa rulezi jenkins ca root pe stackoverflow.

am avut si eu problema asta cu mutatul fisierelor din jenkins pe centos prin scp. N-am rezolvat-o eu, echipa de linux a dat permisiuni masinii de jenkins sa trimita fisiere pe server. Nu stiu daca poate fi o solutie si in cazul de fata (oricum postarea e veche, probabil s-a rezolvat deja :)) :smiley: