grunt-up
v1.0.7
Published
Grunt task for deploying new releases
Downloads
3
Readme
Grunt Deploy Task ( grunt-up )
Grunt task for deploying new releases
Installation
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-up --save-dev
After package installed you need to load task by adding this link in your grunt file
grunt.loadNpmTasks('grunt-up');
How to use
Add new key in your grunt file on grunt.initConfig.
up: {
live: {
options: {
servers: [{
host: 'example.com',
username: 'root',
password:'password',//not required if privateKey is present
privateKey: process.env.HOME + '/.ssh/id_rsa'
}],
execute : {
before: [], //list of commands or just a string with sh command
after: [],
},
source: process.cwd() + '/dist/*',
dest: '/var/www/app'
}
}
},
Create task for deploying yout application versioned. This will increment version from your package.json file and will create and commit a tag with version to git. Grunt shell is required for this. Install it with npm install grunt-shell
Execute task with: $ grunt deploy:major
or $ grunt deploy:minor
...
shell: {
versionminor: {command: 'npm version minor'},
versionmajor: {command: 'npm version major'},
versionpatch: {command: 'npm version patch'},
},
up: {
live: {
options: {
servers: [{
host: 'albulescu.ro',
username: 'root',
privateKey: process.env.HOME + '/.ssh/id_rsa'
}],
execute : {
before: ['echo @version'],
after: ['cd @path && pwd'],
},
source: process.cwd() + '/dist/*',
dest: '/usr/share/wallsongs'
}
}
},
...
...
grunt.registerTask('deploy', function( mode ){
if(!mode) {
return grunt.fail.warn('Specify release type "minor", "major" or "patch".');
}
if( mode == 'major') {
return grunt.task.run([
'shell::versionmajor',
'build',
'up:live',
]);
}
if( mode == 'minor' ) {
return grunt.task.run([
'shell::versionminor',
'build',
'up:live',
]);
}
if( mode == 'patch' ) {
return grunt.task.run([
'shell::versionpatch',
'build',
'up:live',
]);
}
grunt.fail.warn('Invalid release type "minor", "major" or "patch" required.');
});
Contribute
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Changelog
- 1.0.5
- Bug fixes
- 1.0.2
- Add placeholder support for hook commands
- 1.0.1
- Bug fix
- 1.0.0
- basic functionality of deploying nodejs application