Strider CD
Früher oder später kommt man an den Punkt wo man sich um das Deployment seiner Projekte nicht mehr händisch kümmern möchte. Klassischerweise wird dafür ein Jenkins, bzw. Hudson Server genutzt. Für node Projekte gibt hier auch ein entsprechendes Plugin. Alternativ dazu kann man auch Strider CD nutzen.
Als Vorraussetzung wird auf der Homepage folgendes genannt:
- nodejs
- mongoDB
- git
- node-gyp
Die Installation ist dann sehr einfach. Das Repository wird von github geklont und danach im Verzeichnis die Abhängigkeiten per npm install
installiert.
Falls eine lokale mongoDB Instanz genutzt wird kann danach direkt ein User hinzugefügt werden.
1 | $ node bin/strider addUser |
Danach kann die Anwendung mit dem Befehl NODE_ENV=production npm start
gestartet werden und sollte dann unter http://
Konfiguration
Die Konfigurationsparamter kann man auch bequem in der Datei .striderrc
als JSON-Objekt hinterlegen, die im strider Verzeichnis gespeichert wird.
1 | { |
Die Parameter server_name
und port
geben an unter welchem Host die Strider Instanz betrieben und auf welchem Port der Webserver erreichbar ist.
Nach dem Erstellen der Konfigurationsdatei kann der Server über npm start
gestartet werden.
pm2
Da das Starten direkt in der Konsole eher unpraktisch ist und man den Dienst ja auch nicht in einer screen Instanz laufen lassen möchte bietet sich das Tool pm2 an, mit dem Node Prozesse direkt beim Systemstart hochgefahren werden können.
Installiert wird das Tool per sudo npm install pm2 -g
und danach kann aus der Strider-Verzeichnis über pm2 start bin/strider.js
der Dienst gestartet werden.
Eine Übersicht über die laufenden Prozesse erhält man mit dem Befehl pm2 status
. Die Übersicht sollte dann ungefähr so aussehen.
1 | lmigula@gateway:~$ pm2 status |
Falls als Status nicht online angezeigt wird hilft pm2 logs
um den Fehler zu finden, oder man sucht direkt im Verzeichnis ~/.pm2/logs/
im entsprechenden Log-File.
Im nächsten Teil werde ich dann beschreiben wie man unter Strider einen Job anlegt.