Node.js Grunt.js-删除/清理远程服务器上的文件夹
在我的项目中,我有两台服务器:开发和生产。我用Git管理静态文件(CSS/JS等),用Grunt管理DB部署。但在部署数据库之后,我需要从生产服务器中删除缓存文件夹。我怎么能用Grunt呢 顺便问一下,我可以不用Git只使用Grunt来管理我的文件吗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
提前谢谢。正如我所想,这真的很容易: 对于这个任务之王,您所需要的只是文件和包。我只遇到了一个问题——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快捷方式在当前会话中不起作用
'evalssh-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。更新后,这项任务进行得非常顺利