2016-11-19 3 views

Antwort

1

Es ist schwer genau zu sagen, da ich Ihren Quellcode nicht sehen kann. Vielleicht liegt es daran, dass Sie nicht auf den Port hören, den Bluemix Ihnen zuweist.

do { 
let port = try CloudFoundryEnv.getAppEnv().port 
Log.verbose("Assigned port is \(port)") 

Kitura.addHTTPServer(onPort: port, with: controller.router) 
Kitura.run() 


} catch CloudFoundryEnvError.InvalidValue { 
    Log.error("Oops... something went wrong. Server did not start!") 
} 

Was passiert, ist, dass, obwohl es gut funktioniert immer auf 8090 (zum Beispiel) zu hören, wenn sie lokal ausgeführt wird, Bluemix einen Port zuweisen wird für Sie auf zu lauschen und die Portabsender- Verkehr von 443 bis dass leiten wird zugewiesener Port. Während der Bereitstellung überprüft Bluemix, ob etwas auf dem Port abgehört wird. Wenn diese Überprüfung fehlschlägt, wird davon ausgegangen, dass die Bereitstellung fehlgeschlagen ist.

+0

Ich hatte tatsächlich auf Ihr Tutorial https://www.youtube.com/watch?v=xEStdmwFVBg verwiesen, um meine lokale Kitura einzurichten, da ich von den Grundlagen anfangen wollte. Ich bin ziemlich neu in Swift Kitura, also könntest du mich zu einem Tutorial führen, das CloudFoundryEnv implementiert? –

+1

Oh ausgezeichnet, froh, dass mein Tutorial hilfreich ist. Ich denke, dieses Paket ist ziemlich gut dokumentiert, [Swift-cfenv] (https://github.com/IBM-Swift/Swift-cfenv), wenn Sie sich das ansehen wollen. Sehen Sie sich einige unserer Beispiele an, wie [TodoList] (https://github.com/IBM-Swift/TodoList-CouchDB/) und stellen Sie sicher, dass Sie eine manifest.yml und eine Procfile wie dort gesehen haben. –

+0

Das Hinzufügen von CloudFoundryEnv hat das Problem behoben. Danke vielmals. –