Uruchomię polecenie powłoki na końcu wdrożenia Jenkins, aby zrestartować skrypt na zawsze:
npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
Kiedy uruchamiam to jako użytkownik Jenkins, wszystko działa dobrze, a dane wyjściowe konsoli z historii kompilacji mówią mi również, że skrypt na zawsze działa. Jednak proces zatrzymuje się zaraz po zakończeniu wdrażania i proces na zawsze zostaje zatrzymany.
Co powoduje to zachowanie i jak mogę to naprawić?
deployment
node.js
jenkins
Patrick
źródło
źródło
Pytanie jest dość stare, ale myślę, że w tym przypadku jest lepsze rozwiązanie.
Użyj wtyczki po kompilacji skryptu
Sama wtyczka nie jest aktualizowana od początku 2016 r., Ale spełnia swoje zadanie i nie musisz majstrować przy zmiennych środowiskowych. Wydaje mi się to trochę fajniejsze.
źródło
W nowych zadaniach rurociągu ustawienie
BUILD_ID
już nie działa. Zamiast tego musisz ustawić,JENKINS_NODE_COOKIE
aby zapobiec zabiciu procesu przez Jenkinsa po zakończeniu zadania.Lub bardziej selektywnie:
Zobacz wiki na ProcessTreeKiller i ten komentarz w Jenkins Jira .
źródło
Spróbuj z:
źródło