2016-11-19 2 views

ответ

1

Трудно сказать, так как я не вижу ваш исходный код. Но это может быть потому, что вы не слушаете порт, который вам приписывает Bluemix.

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!") 
} 

Что происходит, что, хотя он прекрасно работает, чтобы всегда слушать 8090 (к примеру), когда выполняется локально, Bluemix будет назначить порт для вас, чтобы быть прослушивает и форвардер порт будет направлять трафик от 443 к тому, что назначенный порт. Bluemix во время развёртывания проверяет, что-то слушает порт, и если он откажет в этой проверке работоспособности, предполагается, что развертывание не выполнено.

+0

Я на самом деле упомянул ваш учебник https://www.youtube.com/watch?v=xEStdmwFVBg, чтобы настроить мою локальную Kitura, как я хотел начать с основ. Я довольно новичок в Swift Kitura, поэтому вы можете направить меня в учебник, который реализует CloudFoundryEnv? –

+1

О, отлично, рад, что мой урок полезен. Я думаю, что этот пакет довольно хорошо документирован, [Swift-cfenv] (https://github.com/IBM-Swift/Swift-cfenv), если вы хотите взглянуть на это. Взгляните на некоторые из наших примеров, например [TodoList] (https://github.com/IBM-Swift/TodoList-CouchDB/) и убедитесь, что у вас есть файл manifest.yml и Procfile, как там видно. –

+0

Добавление CloudFoundryEnv устраняет проблему. Большое спасибо. –

Смежные вопросы