Gulpfile,Rsync,RsyncWrapper,Rsync以代码12退出

时间:2015-05-25 10:10:04

标签: vagrant gulp rsync

我试图使用gulp来处理从本地开发环境到正在运行的流浪汉机器的rysnc任务。

gulp任务设置如下:

var rsync        = require('rsyncwrapper').rsync;
var secrets      = require('./secrets.json');

// ###Rsync
// Ran from gulp
gulp.task('deploy', function() {
  rsync({
    ssh: true,
    src: './website/',
    dest: secrets.servers.dev.rsyncDest,
    recursive: true,
    syncDest: true,
    exclude: ['node_modules'],
    args: ['--verbose'],
    privateKey: './.vagrant/machines/default/virtualbox/private_key',
    onStdout: function (data) { 
      console .log (data.toString ()); 
    } 
  },function (error,stdout,stderr,cmd) {
        if ( error ) {
            // failed
            console.log(error.message);
        } else {
            // success
            console.log("folder synced!");
        }
    });
});

secrets.json包含我的目的地流浪汉机器的路径:

{
  "servers": {
    "dev": {
      "rsyncDest": "vagrant@192.168.2.101:/opt/webiste"
    }
  }
}

我的gulp文件的其余部分没有问题,普通的vagrant rsync也适用于传输文件。

但是,当我运行任务部署时,我只是得到:Rsync退出代码12。

经过一些谷歌搜索,我发现这意味着协议流已经失败,但我不确定甚至在哪里开始尝试解决这个问题。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。它发生在我摧毁并重建我的流浪汉机器时,但我将旧密钥留在~/.ssh/known_hosts文件中。错误消息gulp-rsync没有帮助。如果您尝试直接登录,则会收到如下错误:

>> ssh vagrant@192.168.50.104
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
87:9b:39:02:b8:96:6b:21:01:fa:b5:42:5f:0a:0b:f7.
Please contact your system administrator.
Add correct host key in /Users/me/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/me/.ssh/known_hosts:36
RSA host key for 192.168.50.104 has changed and you have requested strict checking.
Host key verification failed.

要修复此问题,请修改文件~/.ssh/known_hosts。删除流浪机的主机密钥行。就我而言,它是从192.158.50.104开始的。

下次运行gulp-rsync时,您必须在提示符下键入yes