Получение информации о приложениях



Сейчас, когда ваше приложение загружено и работает, можете использовать другие субкоманды cf для получения информации о статусе приложений. Например, мо­жете использовать субкоманду apps для получения списка ваших приложений, находящихся на Cloud Foundry, и их статусов:

vagrant $ cf apps

name status usage url

sp_example running 1 x 256M sp_example.cfapps.io

Одна из главных проблем запуска приложений на PaaS — то, что вы не можете видеть в консоли результаты работы операторов console.log так же просто, как это было при запуске приложений локально. Это может быть серьезной проблемой, если ваша программа сбоит и надо понять почему. К счастью, Cloud Foundry пре­доставляет субкоманду logs, которую вы можете использовать для запущенных приложений, чтобы просмотреть программные логи: vagrant $ cf logs sp_example

Getting logs for sp_example #0... OK

Reading logs/env.log... OK

TMPDIR=/home/vcap/tmp

VCAP_APP_PORT=61749

USER=vcap

VCAP_APPLICATION= { ... }

PATH=/home/vcap/app/bin:/home/vcap/app/node_modules/.bin:/bin:/usr/bin

PWD=/home/vcap

VCAP_SERVICES={}

SHLVL=1

HOME=/home/vcap/app

PORT=61749

VCAP_APP_HOST=0.0.0.0

MEMORY_LIMIT=256m

_=/usr/bin/env

Reading logs/staging_task.log... OK

 > Downloaded app package (4.0K)

 > Resolving engine versions

WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions Using Node.js version: 0.10.21 Using npm version: 1.2.30

 > Fetching Node.js binaries

 > Vendoring node into slug

 > Installing dependencies with npm

npm WARN package.json sp_example@ No repository field. npm WARN package.json sp_example@ No readme data.

Dependencies installed

 > Building runtime environment

Reading logs/stderr.log... OK Reading logs/stdout.log... OK Server listening on port 61749

Вы видите, что Cloud Foundry выводит содержимое четырех сохраненных логов. Первый — env.log, где находятся все переменные окружения, к которым вы може­те получить доступ через переменную process.env в программе. Второй — staging_ task.log, в который записывается все, что происходит во время первого запуска программы (вы увидите, что там записано то же самое, что было выведено на экран, когда вы в первый раз запустили cf push). Последние два — stderr.log и stdout.log. Вы увидите, что stdout.log включает в себя оператор console.log, который вы ис­пользовали в своей программе. Если вместо него был указан console.err, сообщение появится в stderr.log.

Обновление приложения

Вы легко можете послать новейшую версию приложения в Cloud Foundry, развер­нув его заново. Модифицируем server.json так, чтобы он возвращал несколько больше информации:

var http = require("http"),

port = process.env.PORT || 3000; var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); res.write("Сервер слушает по порту " + port); res.end("Привет от Cloud Foundry!");

});

server.listen(port);

console.log("Сервер слушает по порту " + port);

Как только вы внесете это изменение, можете запустить субкоманду push заново вместе с именем приложения, которое хотите обновить. Соответству­ющие изменения будут внесены без необходимости заново отвечать на все вопросы:

vagrant $ cf push sp_example

Save configuration?> nUploading sp_example... OK Stopping sp_example... OK Preparing to start sp_example... OK

 > Downloaded app package (4.0K)

 > Downloaded app buildpack cache (4.0K)

 > Resolving engine versions

WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions Using Node.js version: 0.10.21 Using npm version: 1.2.30

> Fetching Node.js binaries

 > Vendoring node into slug

 > Installing dependencies with npm

npm WARN package.json sp_example@ No repository field. npm WARN package.json sp_example@ No readme data.

Dependencies installed

 > Building runtime environment

 > Uploading droplet (15M)

Checking status of app 'sp_example'...

1 of 1 instances running (1 running)

Push successful! App 'sp_example' available at sp_example.cfapps.io

Удаление приложений из Cloud Foundry

Иногда, оказывается, нужно удалить приложения из Cloud Foundry, особенно если мы просто экспериментируем. Чтобы сделать это, можно использовать субкоман­ду delete:

vagrant $ cf delete sp_example

Really delete sp_example?> yDeleting sp_example... OК


Дата добавления: 2018-02-28; просмотров: 245; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!