grunt-ssh
grunt-ssh copied to clipboard
Could support multiple remote servers connection?
If I have multiple servers, I want execute same commands for all servers. How can I do? I think convenient in following way:
- Define the secret file like:
{ "server_1": {"username": "root"}, "server_2": {"username": "root"}
} - Config task at Gruntfile.js like:
sshconfig: {
"server_1": grunt.file.readJSON('secret.json')['server_1'],
"server_2":grunt.file.readJSON('secret.json')['server_2']
}
sshexec: {
task: {
command: ['ls -la'],
options: {'config': ['server_1', 'server_2']}
}
}
:+1:
You could probably do something like this:
// grunt.initConfig
sshconfig: {
"server_1": grunt.file.readJSON('secret.json')['server_1'],
"server_2": grunt.file.readJSON('secret.json')['server_2']
}
sshexec: {
task: {
command: ['ls -la']
}
}
grunt.registerTask('list_multiple', function() {
var servers = ['server_1', 'server_2'];
for (var i in servers) {
grunt.option('config', servers[i]);
grunt.task.run(['sshexec:task']);
}
});
I haven't tested this so please feel free to reply back if it works for you or not.