Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could support multiple remote servers connection? #114

Open
yuezheng opened this issue Jun 17, 2015 · 2 comments
Open

Could support multiple remote servers connection? #114

yuezheng opened this issue Jun 17, 2015 · 2 comments

Comments

@yuezheng
Copy link

If I have multiple servers, I want execute same commands for all servers. How can I do?
I think convenient in following way:

  1. Define the secret file like:
    {
    "server_1": {"username": "root"},
    "server_2": {"username": "root"}
    }
  2. 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']}
     }
}
@nbonamy
Copy link

nbonamy commented Sep 16, 2015

👍

@chrislondon
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants