Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Grunt.js-删除/清理远程服务器上的文件夹_Node.js_Git_Gruntjs - Fatal编程技术网

Node.js Grunt.js-删除/清理远程服务器上的文件夹

Node.js Grunt.js-删除/清理远程服务器上的文件夹,node.js,git,gruntjs,Node.js,Git,Gruntjs,在我的项目中,我有两台服务器:开发和生产。我用Git管理静态文件(CSS/JS等),用Grunt管理DB部署。但在部署数据库之后,我需要从生产服务器中删除缓存文件夹。我怎么能用Grunt呢 顺便问一下,我可以不用Git只使用Grunt来管理我的文件吗 提前谢谢。正如我所想,这真的很容易: 对于这个任务之王,您所需要的只是文件和包。我只遇到了一个问题——SSH拒绝连接,因为SSH代理目前不活动。以下是将git提交拉到远程服务器并部署数据库的示例代码: shell: { git: { c

在我的项目中,我有两台服务器:开发和生产。我用Git管理静态文件(CSS/JS等),用Grunt管理DB部署。但在部署数据库之后,我需要从生产服务器中删除缓存文件夹。我怎么能用Grunt呢

顺便问一下,我可以不用Git只使用Grunt来管理我的文件吗


提前谢谢。

正如我所想,这真的很容易:

对于这个任务之王,您所需要的只是文件和包。我只遇到了一个问题——SSH拒绝连接,因为SSH代理目前不活动。以下是将git提交拉到远程服务器并部署数据库的示例代码:

shell: {
  git: {
    command: ['eval `ssh-agent -s`', 'ssh-add ~/.ssh/yourKey.pem', 'grunt sshexec:gitpull'].join(' && ')
  },
  db: {
    command: ['eval `ssh-agent -s`', 'ssh-add ~/.ssh/yourKey.pem', 'grunt db_push', 'grunt sshexec:clear'].join(' && ')
  }
},
sshexec: {
  gitpull: {
    command: ['cd /var/www/', 'sudo -u yourSudoUser git pull --no-edit'].join("&&"),
    options: {
      host: 'youHost.com',
      username: 'username',
      agent: process.env.SSH_AUTH_SOCK
    }
  },
  clearCache: {
    command: ['cd /var/www/core', 'sudo rm -rf cache'].join("&&"),
    options: {
      host: 'yourHost.com',
      username: 'username',
      agent: process.env.SSH_AUTH_SOCK
    }
  }
}
--无编辑-如果未设置,git将从GNU nano提供一个窗口,您必须在其中编辑提交消息。无法关闭此窗口,因为Nano快捷方式在当前会话中不起作用

'eval
ssh-agent-s
,'ssh-add~/.ssh/yourKey.pem'
启动ssh-agent并添加密钥对NB注意,ssh代理启动后,grunt sshexec:gitpull在shell任务中执行。否则,在单独的任务中执行sshexec时,您将无法访问ssh代理

“grunt db_push”-用于grunt部署模块的任务

<>强>另一件事:考虑更新Grand和NPM到最新版本:<代码> NPM更新NPM-G和<代码> NPM安装grunt@0.4.4-g。更新后,这项任务进行得非常顺利