2016-11-11 2 views
0

bereit Ich habe eine Node.js-Anwendung auf meinem Windows-PC erstellt. Jetzt möchte ich diese App auf OpenShift bereitstellen.Stellen Sie vorhandene Node.js-Quelle auf OpenShift

Ich habe die rhc installiert und meine SSH key gesetzt.

Nach vielen Versuchen konnte ich meine App nicht auf OpenShift bereitstellen.

Ich habe eine App auf Openshift für Node.js in dieser Adresse erstellt:
http://webalves-javalinuxcode.rhcloud.com/

+0

Können Sie weitere Einzelheiten angeben? Wie haben Sie versucht, es zu implementieren? Welchen Fehler hast du bekommen? Hast du 'rhc' installiert und deine' ssh' Taste erstellt? Welche Befehlszeile haben Sie zum Bereitstellen verwendet? – Tom

+0

Tom Ich habe ssh key auch erstellt ... Ich kann auf mein Konto über ssh und sftp zugreifen. Auch ich habe App-Quelle in Zip-Datei. –

Antwort

1

Ich habe ein Webapp gehostet in Openshift NodeJS und Postgres verwenden. Um es zu deployen benutze ich OpenShift git repository, welches den Deploy bei jedem Commit auslöst.

Hier ist die documentation about Openshift deploy.

Sobald Sie die rhc installiert haben und die SSH key bereits festgelegt sind, glaube ich, die folgenden Schritte können Ihnen helfen, es zu implementieren.

  1. Clone das Git Repository für Sie von Openshift erstellt Projekt: rhc git-clone <app_name> OR manuell erstellen Ihre git remote zeigt auf Openshift-Repository

  2. alle Dateien entfernen, die in dem Ordner benötigt werden, nicht als lokales Repository (Openshift creted kann erstellen die Quelle einige Standarddateien für Ihr Projekt)

  3. Dekomprimieren von Ihnen innerhalb des git repository Ordner projizieren

  4. Commit alle Quellen: git add ., dann git commit -am "Your commit message"

  5. Drücken Sie den Code zu Openshift: git push -f

Dabei muss es den Verteilungsprozess auslösen und Sie werden es in der Konsole sehen, wie erläutert in den Dokumentationslink, den ich oben eingefügt habe.

Als zusätzliche Information müssen Sie auch einige Änderungen an Ihrem Quellcode vornehmen. Für den Datenbankzugriff hat OpenShift wie jede andere Ressource viele environment variables, auf die Sie zugreifen können. Also, wenn Sie Ihren HTTP-Server in NodeJS in Openshift implementiert ausführen müssen, müssen Sie einige Änderungen vornehmen, wie folgt aus:

package.json

"scripts": { 
    "start": "node server.js" 
} 

server.js

var serverPort = process.env.OPENSHIFT_NODEJS_PORT || 8080; 
var serverIpAaddress = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'; 

var server = app.listen(serverPort, serverIpAaddress, function() { 
    logger.info("Starting application"); 
    logger.info("Starting HTTP server - port %s", server.address().port); 
}); 

Ich hoffe, es hilft.