2016-11-23 6 views
1

Я пытаюсь подтолкнуть приложение узла к Bluemix используя командуКак пустить пустые каталоги с помощью cf push в Bluemix?

cf push <APP NAME> -c "node app.js" 

приложения узла толкает имеет несколько пустых вложенных каталогов.

Приложение имеет код инициализации, который должен поддерживать эти вложенные каталоги. Он использует их для копирования и генерации файлов во время выполнения.

Проблема:

Когда я нажимаю приложение, пустые каталоги не скатывались [только другие файлы и каталоги, которые не пустой не нажата] и, следовательно, когда приложение пытается найти его, она не справится с

Error: ENOENT No such file or directory error.

чтобы обойти эту проблему, чтобы добавить случайный файл к каждому из каталога [так, что они больше не пусты], а затем он получает толкнул на Bluemix (на Cloud Foundry).

Expectation:

Как раздвинуть пустые каталоги, выдвигая приложение к Bluemix? Эти каталоги сначала пустые, но будут использованы позже для создания и сохранения файла или документов при запуске приложения в Bluemix.

+0

Обратите внимание, что использование локальных файлов не рекомендуется. Если ваше приложение выходит из строя или его необходимо перезапустить, эти файлы исчезнут. –

+0

Согласен. Мне требуется эта опция, как когда приложение nodebb переместилось в Bluemix, оно создает некоторый временный файл инициализации в этом месте во время работы [не уверен в цели]. Когда он не находит местоположение, он дает RR 25/11 04:27 [29] - ошибка: ошибка: ENOENT: нет такого файла или каталога, scandir '/ home/vcap/app/public/uploads/sounds'. Поэтому мне нужно нажать общую папку, когда я нажимаю код приложения nodebb после сборки. Но поскольку общая папка и вся ее вложенная папка были пусты, они не добавлялись с помощью cf push. –

+0

Как я упоминал в своем предыдущем комментарии, каталоги используются только для временного хранения во время выполнения, как мне кажется. Но я буду помнить этот вопрос. Благодарю. –

ответ

4

Если у вас есть ресурсы, которые игнорируются при нажатии, и вы не хотите, чтобы их игнорировали, создайте файл .cfignore и перечислите их там с помощью ! в начале их линий:

intermediateFileFolderToIgnore/ !tempFolderToNotIgnore/

Вы можете найти syntax for cfignore/gitignore here.

+0

Большое спасибо. Это решило проблему для меня. –

+0

Для справки: мне пришлось выталкивать общую папку [с несколькими подпапками, но все они пустые]. Поэтому я создал файл .cfignore с линией!/Public. Затем cf нажмите приложение. Общая папка была нажата на виртуальную машину, хотя она была пустой. –