mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[npm] added release task
This commit is contained in:
parent
e376f7557f
commit
f864dd0aa8
4 changed files with 69 additions and 12 deletions
34
Gruntfile.js
34
Gruntfile.js
|
@ -1,19 +1,20 @@
|
|||
module.exports = function (grunt) {
|
||||
require('jit-grunt')(grunt);
|
||||
require('jit-grunt')(grunt, {
|
||||
s3: 'grunt-aws'
|
||||
});
|
||||
|
||||
grunt.initConfig({
|
||||
pkg: require('./package.json'),
|
||||
|
||||
clean: {
|
||||
build: {
|
||||
src: 'build'
|
||||
}
|
||||
build: { src: 'build' },
|
||||
target: { src: 'target' },
|
||||
},
|
||||
|
||||
compress: {
|
||||
build: {
|
||||
options: {
|
||||
archive: 'target/sense-<%= pkg.version %>.zip'
|
||||
archive: 'target/sense-<%= pkg.version %>.tar.gz'
|
||||
},
|
||||
files: [
|
||||
{ src: ['build/**'], dest: '/' },
|
||||
|
@ -38,13 +39,24 @@ module.exports = function (grunt) {
|
|||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
s3: {
|
||||
release: {
|
||||
options: {
|
||||
bucket: 'download.elasticsearch.org',
|
||||
access: 'private',
|
||||
},
|
||||
files: [
|
||||
{
|
||||
src: 'target/sense-<%= pkg.version %>.tar.gz',
|
||||
dest: 'elasticsearch/sense/sense-<%= pkg.version %>.tar.gz'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
grunt.registerTask('build', [
|
||||
'clean:build',
|
||||
'copy:build',
|
||||
'compress:build'
|
||||
]);
|
||||
|
||||
require('./tasks/build')(grunt);
|
||||
require('./tasks/release')(grunt);
|
||||
};
|
||||
|
|
|
@ -10,11 +10,13 @@
|
|||
"url": "http://github.com/elastic/sense.git"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "grunt build"
|
||||
"build": "grunt build",
|
||||
"release": "grunt release"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^1.7.3",
|
||||
"grunt": "^0.4.5",
|
||||
"grunt-aws": "^0.6.1",
|
||||
"grunt-cli": "^0.1.13",
|
||||
"grunt-contrib-clean": "^0.6.0",
|
||||
"grunt-contrib-compress": "^0.14.0",
|
||||
|
|
10
tasks/build.js
Normal file
10
tasks/build.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
module.exports = function (grunt) {
|
||||
|
||||
grunt.registerTask('build', [
|
||||
'clean:build',
|
||||
'clean:target',
|
||||
'copy:build',
|
||||
'compress:build'
|
||||
]);
|
||||
|
||||
};
|
33
tasks/release.js
Normal file
33
tasks/release.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
var readline = require('readline');
|
||||
|
||||
module.exports = function (grunt) {
|
||||
|
||||
grunt.registerTask('_release:confirmUpload', function () {
|
||||
var rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
});
|
||||
|
||||
rl.on('close', this.async());
|
||||
rl.question('Do you want to actually upload the files to s3 after building?, [N/y] ', function (resp) {
|
||||
var debug = resp.toLowerCase().trim()[0] !== 'y';
|
||||
grunt.config.set('s3.release.options.dryRun', debug);
|
||||
rl.close();
|
||||
});
|
||||
});
|
||||
|
||||
// collect the key and secret from the .aws-config.json file, finish configuring the s3 task
|
||||
grunt.registerTask('_release:loadS3Config', function () {
|
||||
var config = grunt.file.readJSON('.aws-config.json');
|
||||
grunt.config('s3.release.options.accessKeyId', config.key);
|
||||
grunt.config('s3.release.options.secretAccessKey', config.secret);
|
||||
});
|
||||
|
||||
grunt.registerTask('release', [
|
||||
'_release:confirmUpload',
|
||||
'_release:loadS3Config',
|
||||
'build',
|
||||
's3:release'
|
||||
]);
|
||||
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue