Винил-фтп скрыть проблему с учетными данными

Я решил использовать винил-ftp для моего процесса развертывания в gulp. Одна вещь, которую я хотел бы сделать, это иметь отдельный файл с моими учетными данными ftp:

  1. хозяин
  2. пользователь
  3. пароль

    и поместите этот файл в мой.gitignore. И затем я хочу, чтобы эти учетные данные в этом файле были прочитаны моей переменной соединения в моем файле gulp. Мой код развертывания следующий:

    gulp.task( 'deploy', function () {
    var conn = ftp.create( {
    host:     'yourdomain.com',
    user:     'ftpusername',
    password: 'ftpuserpassword',
    parallel: 10,
    log:      gutil.log
    } );
    
    var globs = [
    'dist/**'
    ];
    
    return gulp.src( globs, { base: './dist/', buffer: false } )
    .pipe( conn.newer( 'yourdomain.com' ) )
    .pipe( conn.dest( 'yourdomain.com' ) );
    
    } );//end deploy
    

Поэтому я хочу, чтобы значения переменных yourdomain.com для хоста, ftpusername для пользователя и ftpuserpassword для пароля читались из отдельного файла, чтобы мои учетные данные отображались при выполнении git push. Как мне это сделать?

Спасибо

1 ответ

Вы можете передать их как аргументы выполнения:

var 
    gulp           = require('gulp'),
    args           = require('yargs').argv;
const distDir = "./dist";
gulp.task('deploy', function() {
    var conn = ftp.create({
        host:      args.host,
        user:      args.user,
        password:  args.password,
        parallel:  10,
        log: flog // .log
    });

    var globs = [
    distDir + '/**',
    distDir + '/.htaccess',
    ];
    return gulp.src(globs, {buffer: false})  
    .pipe(conn.dest(args.remotedir));

});

Затем вызовите его из командной строки или поместите строку в командный файл: npm run gulp deploy -- --host=hostname --user=username --password=password --remotedir=/path/to/folder/on/server, использование gulp вместо npm run gulp если gulp установлен глобально.

Это хорошая практика для передачи полномочий через аргументы при запуске программы.

Другие вопросы по тегам