2013-06-02 10 views
7

बदलते समय एक फ़ाइल और एसएफटीपी देखें, जब मैं सैस से संकलित होता हूं तो .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 संकलित लेकिन इसे अपलोड करने की नहीं लगती। कोई विचार?

+0

'config.rb' संकलित' css' को किस निर्देशिका में आउटपुट करता है? –

+0

क्या आप इसे स्थानीय रूप से नहीं कर रहे हैं और फिर जब आप एक बिल्ड चरण चलाते हैं तो केवल धक्का देते हैं? –

उत्तर

1

मैं 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 "[email protected]:/var/www/foo/directory"' 
    } 
} 

यह एक आकर्षण की तरह काम किया।

2

मैं यह पुष्टि करना चाहता हूं कि निम्न 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 
      } 
     } 
    } 
+0

'grunt-ssh' के साथ, आप घड़ी को कैसे सेट अप करते हैं ताकि यह केवल उन फ़ाइलों को अपलोड कर सके जो बदले गए हैं? – mpen

+0

मैं मैन्युअल रूप से लॉन्च किए गए गंट कार्य से फ़ाइलें अपलोड करता हूं (मैं इसे अपने नए निर्माण को एक नए खाली फ़ोल्डर में अपलोड करने के लिए उपयोग करता हूं)। मैंने देखा है कि आपने इसके लिए अलग सवाल बनाया है, आशा है कि अंत में इसका उत्तर दिया जाएगा! :) – sbat

संबंधित मुद्दे