0

I am running my NodeJS project on DotCloud. Sadly, DotClouds deployment is "project-intrusive" that is it requires a supervisord.conf file to reside in the app-root. My deployment setup looks like this (using git repos).

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

(/prod/project use project.git as a submodule to access the code)

Now, my though of this is that I eventually would end up having different environments like this, e.g. dev, test and stage. The dev environment wouldn't even have a dotcloud.yml file since it is expected to run everything locally. Well this works pretty well. But the problem is the supervisord.conf file which is just for deployment to dotcloud, now it resides in the project.git repo, but it doesn't belong there since it is just for deployment.

Are there any modules or NodeJS scripts that let you put deployment configuration files elsewhere, and maybe even specify what the target environment is, e.g. node deploy.js --production, or something like that?

Andreas Selenwall
  • 5,705
  • 11
  • 45
  • 58

1 Answers1

0

There is a way to get rid of supervisord.conf. Assuming that you want to run e.g. node app.js, you can put the following in dotcloud.yml:

www:
  type: nodejs
  process: node app.js

Now, of course, it doesn't solve the problem of the dotcloud.yml file itself; but at least it reduces clutter a little bit -- removing it from the approot.

jpetazzo
  • 14,874
  • 3
  • 43
  • 45
  • Thanks! Is it possible to add configuration for environment (production etc) as well? Or is it just limited down to how to start the app? – Andreas Selenwall Nov 22 '12 at 13:23