0.0.17 • Published 7 years ago

gulp-git-sftp v0.0.17

Weekly downloads
1
License
ISC
Repository
github
Last release
7 years ago

NPM version Downloads

Install gulp-git-sftp with --save-dev

$ npm i gulp-git-sftp -D

What is gulp-git-sftp?

  • gulp - gulp...
  • git - git...
  • sftp - sftp...
  • Simple - By providing only a minimal API surface, gulp is easy to learn and simple to use

Sample use

# Load index.html and my.css and delete old.html
$ gulp dep:files -f=index.html,my.css,del:old.html
# Load and delete all changes form git (what `git add` now)
# So, it is cool use before commit for preprod server for hot test
$ gulp dep:git
# Load all files to server
$ gulp deploy
# Delete all files to server
$ gulp deploy --del
# Load all files to server from `dist` (local directory) to `public` (remote directory)
$ gulp deploy --basePath=dist --remotePath=public
# Delete `public` directory on remote side
$ gulp deploy --remotePath=public --del

for more information about config watch Help directory

# Deploy files to prod server in config 
$ gulp deploy --dephost=prod

Sample gulpfile.js

This file will give you a taste of what gulp does.

var ggs = require('gulp-git-sftp'),
    cnf = require('./config/cnf'), // Look in help directory
    argv = require('yargs').argv,
    gulp = require('gulp'),
    CNF = ggs.cnf(cnf);
    
    console.log('CNF:', CNF)

var FTP = ggs.ftp(CNF);

var conn = FTP.conn();

gulp.task('dep:files', function() {
    
    var files = argv.f;
        
    if (!files) return;
    
    files = FTP._file2format( files.split(',') );
    console.log(files)
    
    // TODO: need add return for correct work with stream 
    // return ggs.git({...}, (err)=>{...});
    ggs.git({
        conn: conn,
        files: files,
        basePath: CNF.basePath,
        remotePath: CNF.remotePath,
    }, function(err) {
        if (err) console.log('ERRROR2:', err);
        console.log('Files from -f to FTP is deployed!!!')
        return true;
    });
});

gulp.task('dep:git', function() {
    // TODO: need add return for correct work with stream 
    // return ggs.git({...}, (err)=>{...});
    ggs.git({
        conn: conn,
        basePath: CNF.basePath,
        remotePath: CNF.remotePath,
    }, function(err) {
        if (err) console.log('ERRROR2:', err);
        console.log('Files from git to FTP is deployed!!!')
        return true;
    });
});

gulp.task('deploy', function() {
       
    if (!argv.del) {
        return gulp.src( [`${CNF.basePath}/**/*`, '!node_modules{,/**}', '!bower{,/**}', '!bower_components{,/**}', '**/.htaccess'], { base: CNF.basePath, buffer: false } )
            .pipe( conn.newer( CNF.remotePath || argv.remotePath ) ) // only upload newer files 
            .pipe( conn.dest( CNF.remotePath || argv.remotePath ) );
    } else {
        // conn.delete(CNF.remotePath+'dd', function(e) {
        return conn.rmdir(CNF.remotePath, function(e) {
            console.log('deleted:', CNF.remotePath);
        });
    }
});

// BUILD TASKS 
// ...

Create aliases in package.json

Something like that:

"scripts": {
    "depfront:prod": "gulp deploy --remotePath=frontend --basePath=frontend --dephost=prod",
    "depfront": "gulp deploy --remotePath=frontend --basePath=frontend",
    "depback:prod": "gulp deploy --remotePath=backend --basePath=backend --dephost=prod",
    "depback": "gulp deploy --remotePath=backend --basePath=backend",
    "deploy:prod": "gulp deploy --dephost=prod",
    "deploy": "gulp deploy",
    "depfront:del:prod": "gulp deploy --remotePath=frontend --dephost=prod --del",
    "depfront:del": "gulp deploy --remotePath=frontend --del",
    "depback:del:prod": "gulp deploy --remotePath=backend --dephost=prod --del",
    "depback:del": "gulp deploy --remotePath=backend --del",
    "deploy:del:prod": "gulp deploy --dephost=prod --del",
    "deploy:del": "gulp deploy --del"
} 
0.0.17

7 years ago

0.0.16

7 years ago

0.0.15

7 years ago

0.0.14

7 years ago

0.0.13

7 years ago

0.0.12

7 years ago

0.0.11

7 years ago

0.0.10

7 years ago

0.0.9

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago