Как настроить локальную среду разработки, чтобы имитировать производственную среду Ghost в OpenShift?

Я создал блог Ghost на OpenShift и обнаружил, что процесс довольно прост. Сайт запущен и работает, и я даже настроил Jenkins для непрерывной интеграции, когда мне нужно внести изменения.

Мне еще предстоит внести какие-либо существенные изменения (пока только обновления стиля), потому что я не могу понять, как настроить среду тестирования/разработки. Как мне настроить среду, в которой я могу тестировать более крупные изменения кода перед их фиксацией в основном репозитории Git в OpenShift?

Есть ли способ запустить приложение локально? Я пробовал просто перейти в каталог приложения в своем терминале (на Mac), но когда я запускаю npm start, я получаю следующее...

> openshift-ghost-quickstart@ start /path_to_my_app/dev/app
> node index

Unhandled rejection Error: Cannot find module '/path_to_my_app/dev/app/node_modules/ghost/node_modules/sqlite3/lib/binding/node-v11-darwin-x64/node_sqlite3.node'

(node_sqlite3.node там существует, кстати)

Что мне нужно сделать, чтобы настроить его так, чтобы я мог использовать ту же кодовую базу и репозиторий, но видеть свои изменения локально, прежде чем фактически зафиксировать их в репозитории? Любая помощь будет оценена по достоинству. Огромное спасибо!


person luchauer    schedule 18.08.2015    source источник
comment
Попробуйте запустить npm update, чтобы обойти указанную вами ошибку.   -  person Mark B    schedule 18.08.2015
comment
Спасибо @mbaird! После запуска npm update я теперь вижу следующее при запуске npm start: › openshift-ghost-quickstart@ start /path-to-app › node index Миграции: для версии 003 требуется инициализация базы данных Миграции: Создание таблиц... Миграции: Создание таблицы: сообщения Необработанный отказ Ошибка: SQLITE_CANTOPEN: невозможно открыть файл базы данных в Client_SQLite3.acquireRawConnection (/path-to-app/node_modules/ghost/node_modules/knex/lib/dialects/sqlite3/index.js:89:10) вы думаете, что это просто вопрос разрешений, или мне нужно обновить некоторые вещи в моем config.js?   -  person luchauer    schedule 18.08.2015


Ответы (1)


Меня это тоже на какое-то время достало. Есть две вещи, которые нужно сделать, чтобы заставить это работать:

  1. Снова установите sqlite3 в каталог node_modules/ghost/node_modules — по умолчанию он имеет привязки linux из Openshift. Вам нужна привязка OSX

  2. Создайте папку data в существующей папке content.

person rorymadden    schedule 30.05.2016