a simaple deploy tools inspired by mina
``bash`
npm install dy -g
create your own dy config file
``
dy-init
read document and edit this config file
``
dy-init
to run your deploy commands
`- ...
/var/www/test.com/ # The deploy_to path
|- releases/ # Holds releases, one subdir per release
| |- 1/
| |- 2/
| |- 3/
| '- ...
|- shared/ # Holds files shared between releases
| |- logs/ # Log files are usually stored here
|
'- current/ # A symlink to the current release in releases/
``
`
set('appname', 'xxx')
set('username', 'web')
set('host', 'localhost')
set('port', 22)
set('deploy_folder', '/user/local/good/to/deploy')
task('setup', function(){
queue('cd ${deploy_folder}')
queue('pwd .')
})
//another task
task('deploy', function(){
queue('pwd .')
queue('pwd .')
})
task('stop', function(){
queue('killall node')
})
//subtask inside
task('restart',function(){
invoke('stop')
invoke('deploy')
})
`
`
set('deploy_to', '/var/www/test.me')
//default settings
set('releases_path', 'releases')
set('shared_path', 'shared')
set('current_path', 'current')
set('lock_file', 'deploy.lock')
set('keep_releases', 5)
`
``
dy # run dy.js deploy task
dy sometask # run dy.js 'sometask' task
dy -f xx.js deploy # run xx.js deploy task
dy -f xx.js -v deploy # run xx.js deploy task and show detail
/ --verbose : show detail, default is off.
* -f FILE / --file : use custom dy.js configuration.
* -S / --simulate : output build scripts. TODOTasks
dy tasks : show all aviable tasksVariablse
dy NODE_ENV=production : set NODE_ENV to production`