-
Notifications
You must be signed in to change notification settings - Fork 44
Deployment Tools
When deploying to GitHub pages, use the grunt-gh-pages plugin.
First install grunt-gh-pages with this command:
npm install grunt-gh-pages --save-dev
Then copy and paste the following 'gh-pages'
config property into your Gruntfile's initConfig
call:
grunt.initConfig({
'gh-pages': {
options: {
base: 'dist'
},
src: ['**']
}
});
Finally you can add a deploy
task which runs the build
task and then pushes to GitHub:
grunt.registerTask('deploy', [
'build',
'gh-pages'
]);
Now you can deploy your site by running the grunt deploy
command.
When deploying to Amazon S3, use the grunt-s3 plugin.
First install grunt-s3 with this command:
npm install grunt-s3 --save-dev
Then create a grunt-aws.json
file with the following format in the root folder of your site:
{
"key": "your-aws-key",
"secret": "your-aws-secret",
"bucket": "your-s3-bucket"
}
Then copy and paste the following aws
and s3
config properties into your Gruntfile's initConfig
call:
grunt.initConfig({
aws: grunt.file.readJSON('./grunt-aws.json'),
s3: {
options: {
key: '<%= aws.key %>',
secret: '<%= aws.secret %>',
bucket: '<%= aws.bucket %>',
access: 'public-read'
},
dev: {
upload: [{
src: 'dist/**',
rel: 'dist',
dest: '/'
}]
}
}
});
Finally you can add a deploy
task which runs the build
task and then pushes to S3:
grunt.registerTask('deploy', [
'build',
's3'
]);
Now you can deploy your site by running the grunt deploy
command.
When deploying via FTP, use the grunt-ftpush plugin.
First install grunt-ftpush with this command:
npm install grunt-ftpush --save-dev
Then create a .ftppass
file with the following format in the root folder of your site:
{
"key": {
"username": "your-ftp-username",
"password": "your-ftp-password"
}
}
Then copy and paste the following ftpush
config property into your Gruntfile's initConfig
call:
grunt.initConfig({
ftpush: {
build: {
auth: {
host: 'your-website.com',
port: 21,
authKey: 'key'
},
src: 'dist',
dest: 'your-remote-destination-folder',
simple: true,
exclusions: ['**.DS_Store']
}
}
});
Finally you can add a deploy
task which runs the build
task and then pushes to your site via ftp:
grunt.registerTask('deploy', [
'build',
'ftpush'
]);
Now you can deploy your site by running the grunt deploy
command.