Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 asp
Octocat-spinner-32 custom
Octocat-spinner-32 manos
Octocat-spinner-32 nodejs
Octocat-spinner-32 pylons
Octocat-spinner-32 rails
Octocat-spinner-32 README
Octocat-spinner-32 detect
README
To implement support for a new platform, a couple scripts need to be implemented.

{platform-name}/package
This script is run after git receives new bits. The HOME environment variable will be set to the working directory of the web application. Any build process or dependency retrieval that needs to take place should be done at this time. After all dependencies are fetched, the working directory will be packaged and stored for retrieval during provisioning and launch (below).
Common tasks during "package" would be:
* Rails: bundle install --deployment
* ASP .NET: xbuild
* Pylons: easy_install and virtualenv creation
* NodeJS: npm


{platform-name}/launch
This script is run during the provisioning of an application. The HOME environment variable will be set to the working directory of the web application. "launch" should start the web server and any background workers.
It must output the following lines to standard out (at any point, and in no order):

PORT:<port the web server is listening on>
PID:<pid of the web server process>


{platform-name}/console
This script is run to spawn a console during an ssh session to a running web application worker. The HOME environment variable will be set to the working directory of the web application. This should generally just set the appropriate environment variables and PATH and then "exec bash". However, in some scenarios, such as Rails, it may be preferable to run "exec rails console", etc.


All scripts will be run under a unique user id to sandbox the application from others.
Something went wrong with that request. Please try again.