2012-11-16 3 views
0

Я запускаю проект NodeJS на DotCloud. К сожалению, развертывание DotClouds является «проектом-навязчивым», для чего требуется, чтобы файл supervisord.conf находился в корневом приложении. Моя установка развертывания выглядит так (с использованием git repos).Развертывание определенных файлов в NodeJS

project-deploy.git/prod/dotcloud.yml 
project-deploy.git/prod/project -> project.git 

(/prod/project использование project.git как подмодуль, чтобы получить доступ к коду)

Теперь мой, хотя это то, что я в конце концов, будет в конечном итоге с различными средами, как это, например, dev, тест и этап. В среде Dev нет файла dotcloud.yml, так как ожидается, что он будет запускать все локально. Ну, это работает очень хорошо. Но проблема заключается в файле supervisord.conf, который предназначен только для развертывания в dotcloud, теперь он находится в project.git repo, но он не принадлежит там, поскольку он предназначен только для развертывания.

Существуют ли какие-либо модули или сценарии NodeJS, которые позволяют размещать файлы конфигурации развертывания в другом месте и, возможно, даже указать, что такое целевая среда, например. node deploy.js --production, или что-то в этом роде?

ответ

0

Существует способ избавиться от supervisord.conf. Предполагая, что вы хотите запустить, например. node app.js, вы можете поместить следующее в dotcloud.yml:

www: 
    type: nodejs 
    process: node app.js 

Сейчас, конечно, это не решает проблему самого dotcloud.yml файла; но, по крайней мере, это немного уменьшает беспорядок - удаляя его из соответствующего устройства.

+0

Спасибо! Можно ли добавить конфигурацию для среды (производство и т. Д.)? Или это ограничивается только тем, как запустить приложение? –

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