makesite should be installed using pip or setuptools:
pip install makesite
easy_install makesite
The variable MAKESITE_HOME tell makesite where to place your sites.
Run makesite shell for generate shell configuration.
$ makesite shell -p <path_to_deploy_dir> >> ~/.bashrc
Also it adds to you more makesite commands and autocomplete in bash
You may want to create base config file makesite.ini in MAKESITE_HOME, with your project settings: ex.: /sites/makesite.ini:
[Main]
domain=%(branch)s.%(project)s.dev.me
src=git+gitolite@git.dev.intaxi:%(project)s.git
pguser=postgres
pghost=pg.dev.server
; password for create db and users for projects
pgpassword=blablabla
memcached_host=localhost
; server mode, example for switch django settings
mode=dev
This will allow you to identify any common settings for projects.
Base command used for deploy projects.
Run makesite --help for help message.
$ makesite --help
usage: makesite [-h] [-v]
{info,shell,install,update,module,ls,template,uninstall}
Base dispather
positional arguments:
{info,shell,install,update,module,ls,template,uninstall}
Choose action: info, shell, install, update, module,
ls, template, uninstall
optional arguments:
-h, --help show this help message and exit
-v, --version Show makesite version
Run makesite subcommand --help for subcommand help message.
$ makesite install --help
usage: makesite install [-h] [-v] [-p PATH] [-b BRANCH] [-m MODULE] [-r] [-i]
[-s SRC] [-t TEMPLATE] [-c CONFIG]
PROJECT
Install site from sources or module
positional arguments:
PROJECT Project name
optional arguments:
-h, --help show this help message and exit
-v, --version Show makesite version
-p PATH, --path PATH Path to makesite sites instalation dir. You can set it
in $MAKESITE_HOME env variable.
-b BRANCH, --branch BRANCH
Name of branch.
-m MODULE, --module MODULE
Name of module. Install module.
-r, --repeat Repeat installation.
-i, --info Show project install options and exit.
-s SRC, --src SRC Source path for installation.
-t TEMPLATE, --template TEMPLATE
Force templates.
-c CONFIG, --config CONFIG
Config file.
Copy project from source (filepath, git, hg, svn), deploy templates and run install scripts.
makesite install PROJECT [OPTIONS]
Run updates for site or all installed.
usage: main.py update [-h] [-v] [-p PATH] [SITE]
Run site update
positional arguments:
SITE Path to site or name (project.branch)
optional arguments:
-p PATH, --path PATH path to makesite sites instalation dir. you can set it
in $makesite_home env variable.
Examples:
# Update all makesite instances on server
$ makesite update
# Update by project name
makesite update intaxi
# Update by project name
makesite update intaxi.develop
# Update by project path
makesite update /var/www/intaxi/master
Run removed scripts from deployed project in templates order. Used for remove project.
$ makesite uninstall PROJECT_PATH
Show list of installed sites.
usage: makesite ls [-h] [-v] [-p PATH]
Show list of installed sites.
optional arguments:
-p PATH, --path PATH path to makesite sites instalation dir. you can set it
in $makesite_home env variable.
Examples:
makesite ls
Show site deploy config information