2016-06-26 4 views
0

Ich möchte jenkins verwenden, um ein Nodejs-Projekt auszuführen. Alles läuft gut, außer ich sehe keinen Erfolgsstatus in Jenkins Job.nodejs Server gibt keinen Erfolgsstatus in jenkins

Ich startete den Server mit Npm installieren & Npm Startbefehl in Jenkins. Es startet den Server, gibt aber keinen Build-Erfolg, daher kann ich keine anderen Jobs starten, die vom Build-Erfolg des Node-Servers abhängen & Wenn ein neues Commit eintrifft, erkennt Jenkins es, aber der Job wird nicht neu gestartet im Status "Ausstehend", während der ursprüngliche Job ausgeführt wird.

Ich bin neu bei Jenkins. kann mir jemand dafür etwas vorschlagen ??

+0

Was ist die genaue Ursache für das Scheitern? Könnten Sie das Protokoll anfügen, das vom Fehler abgeschnitten wurde? –

Antwort

1

Klingt wie die Ausführung Ihres js Skript Build hängt, versuchen, eine &, nachdem es ihn in den Hintergrund zu schicken:

npm install 
npm start & 

Beachten Sie auch, dass laichen einen neuen Prozess npm start von einem Jenkins Job ausgeführt wird und Jenkins will kill the jobs spawned during a build, Das ist ein Problem, wenn Sie möchten, dass dieser Prozess als Daemon verbleibt.

Um zu vermeiden, dass Sie eine Fahne direkt vor Ihrem Befehl zur Verfügung stellen müssen:

BUILD_ID=dontKillMe npm start &

Sie haben in Ihrer Job-Pipeline über alle Schritte nicht spezifisch, aber ich mir vorstellen, dass Sie ausführen versuchen Einige Post-Build-Vorgänge nach dem Erstellen des ersten Jobs, sodass Sie herausfinden, dass Ihr Prozess nicht ausgeführt wird, was zu Fehlern in nachfolgenden Jobs führt.

Versuchen Sie auch, forever zu verwenden. Sie wird dafür sorgen, dass Ihr Skript kontinuierlich läuft, bis Sie es mit ihm zu stoppen, können Sie Ihre Anwendung wie folgt beginnen:

BUILD_ID=dontKillMe forever start yourApp.js 
+0

Ja, ich muss ein Testskript ausführen, das Rake auf dem Webserver aufruft, der vom Knotenprojekt ausgeführt wird. Ich habe bereits npm Start & verwendet, es gibt Build-Erfolg, aber der Server nicht gestartet. Entsprechend Ihrem Vorschlag habe ich auch versucht BUILD_ID = dontKillMe npm Start &; aber es funktioniert nicht. – megamind

+0

@tasin_megamind kannst du uns die Skriptzeile zeigen, die du aufrufst, wenn du den 'npm-Start' startest? Dies befindet sich in Ihrer packages.json-Datei. –

+0

Versuchen Sie auch, [forever] (https://www.npmjs.com/package/forever) zu verwenden. –