forked from mozilla/mortar-devtools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupload.js
More file actions
42 lines (31 loc) · 1.05 KB
/
upload.js
File metadata and controls
42 lines (31 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var nconf = require('nconf');
nconf.argv().env().file({ file: 'config.json' });
var username = nconf.get('username');
var host = nconf.get('host');
var remote_path = nconf.get('remote-path');
var spawn = require('child_process').spawn;
var glob = require('glob');
// When we use spawn we don't call a shell that does the wildcard expansion for us,
// so we'll use glob to get the expanded list of files
glob('dist/*', function(err, files) {
if(err) {
console.log(err);
} else {
uploadFiles(files);
}
});
// scp -R list of files user@host:remote_path
function uploadFiles(files) {
var scpOptions = [ '-r' ].concat(files).concat(username + '@' + host + ':' + remote_path);
var scp = spawn('scp', scpOptions);
console.log('scp options', scpOptions);
scp.stdout.pipe(process.stdout);
scp.stderr.pipe(process.stderr);
scp.on('close', function(code, signal) {
if(code) {
console.error('Something went wrong; signal = ' + signal);
} else {
console.log('Child process terminated due to receipt of signal ' + signal);
}
});
}