当文件被改变时观察文件和SFTP
我试图从Sass编译时自动上传.css
文件。 这是我在我的Gruntfile.js
得到的:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
coffee: {
files: ['**/*.coffee'],
tasks: ['coffee']
},
scripts: {
files: ['**/*.scss'],
tasks: ['compass']
},
sftp: {
files: ['**/*.css'],
tasks: ['sftp-deploy']
}
},
coffee: {
compile: {
files: {
'testing.js': 'testing.coffee'
}
}
},
compass: {
dist: {
options: {
config: 'config.rb'
}
}
},
'sftp-deploy': {
build: {
auth: {
host: 'example.com',
port: 22,
authKey: 'key2'
},
src: 'styles/',
dest: 'styles/',
exclusions: ['**/.DS_Store'],
server_sep: '/'
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-coffee');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-sftp-deploy');
// Default task(s).
grunt.registerTask('default', ['watch']);
};
它编译.css
但似乎没有上传它。 有任何想法吗?
我想确认下面的grunt-ssh(https://github.com/andrewrjones/grunt-ssh)任务配置适合我。 请注意,grunt接受可能有助于调试的--verbose选项。 请注意,从v0.6.2开始,grunt-ssh SFTP任务似乎不支持sshconfig语法,这在帮助页面中不是很清楚。
sftpCredentials: grunt.file.readJSON('sftp-credentials.json'),
sftp: {
deploy: {
files: {
"./": "deploy/**"
},
options: {
"path": "<%= sftpCredentials.path %>",
"host": "<%= sftpCredentials.host %>",
"username": "<%= sftpCredentials.username %>",
"port": "<%= sftpCredentials.port %>",
"password": "<%= sftpCredentials.password %>",
"srcBasePath": "deploy/",
"createDirectories": true
}
}
}
我正在尝试使用grunt-sftp做几乎完全相同的事情,并遇到类似的错误。 日志并不是最大的,所以我最终使用了grunt-shell,并且在编译时只运行了scp
:
watch: {
tumblr: {
files:['sass/*.scss', 'sass/*/*.scss'],
tasks: [ 'compass:tumblr', 'shell:tumblr' ]
}
},
shell: {
tumblr: {
command: 'scp -P 2222 -r stylesheets "myname@myserver.com:/var/www/foo/directory"'
}
}
这工作像一个魅力。
链接地址: http://www.djcxy.com/p/13843.html