Я создал локальное приложение quickura kitura, которое прекрасно работает на месте. Но когда я нажимаю его на bluemix, экземпляр запускается, а затем терпит неудачу. Kitura не удалось развернуть в bluemix
1
A
ответ
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 во время развёртывания проверяет, что-то слушает порт, и если он откажет в этой проверке работоспособности, предполагается, что развертывание не выполнено.
Я на самом деле упомянул ваш учебник https://www.youtube.com/watch?v=xEStdmwFVBg, чтобы настроить мою локальную Kitura, как я хотел начать с основ. Я довольно новичок в Swift Kitura, поэтому вы можете направить меня в учебник, который реализует CloudFoundryEnv? –
О, отлично, рад, что мой урок полезен. Я думаю, что этот пакет довольно хорошо документирован, [Swift-cfenv] (https://github.com/IBM-Swift/Swift-cfenv), если вы хотите взглянуть на это. Взгляните на некоторые из наших примеров, например [TodoList] (https://github.com/IBM-Swift/TodoList-CouchDB/) и убедитесь, что у вас есть файл manifest.yml и Procfile, как там видно. –
Добавление CloudFoundryEnv устраняет проблему. Большое спасибо. –