related
我能够使用 grunt-ssh 设置 Grunt 任务,将 SFTP 文件发送到我的开发服务器。 :
sftp: {
dev: {
files: {
'./': ['**','!{node_modules,artifacts,sql,logs}/**'],
},
options: {
path: '/path/to/project',
privateKey: grunt.file.read(process.env.HOME+'/.ssh/id_rsa'),
host: '111.111.111.111',
port: 22,
username: 'marksthebest',
}
}
},
但是,当我运行它时,它会上传所有内容。有数千个文件。每次修改文件都没有时间等他们一一上传。
我如何设置 watch 只上传我更改的文件,一旦我更改了它们?
(出于好奇,服务器是本地网络上的虚拟机。它在不同的操作系统上运行,并且设置比我的本地机器更类似于生产。如果我能正常工作,上传应该很快)
最佳答案
您需要的是grunt-newer , 一项专门设计用于根据刚刚更改的文件更新任何任务的配置的任务,然后运行它。示例配置可能如下所示:
watch: {
all: {
files: ['**','!{node_modules,artifacts,sql,logs}/**'],
tasks: ['newer:sftp:dev']
}
}
关于ssh - 咕噜 watch : only upload files that have changed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408090/