Gulp развернуть ftp для производства
Я использую некоторую задачу gulp для развертывания в производство, но у меня проблема с gulp-deploy, мне нужно, чтобы некоторые другие файлы из другой папки были скопированы в другом месте на сервере, это моя задача
//Gulp APP ftp deploy
gulp.task('deploy-app', function () {
var conn = ftp.create({
host: 'xxx',
user: 'xxx',
password: 'xxx',
parallel: 10,
log: gutil.log
});
var globs = [
'./css/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}',
'./img/**',
'./views/**',
'./scripts/**',
'index.html',
'Web.config'
];
// using base = '.' will transfer everything to /public_html correctly
// turn off buffering in gulp.src for best performance
return gulp.src(globs, { base: '.', buffer: false })
.pipe(conn.newer('/site/wwwroot')) // only upload newer files
.pipe(conn.dest('/site/wwwroot'));
});
У меня проблема в том, что мне не нужен index.html из корня, потому что у меня есть другой index.html, который находится внутри папки dist, но он должен идти в корне папки сервера, как это сделать
1 ответ
Решение
Использование gulp-if
в комбинации с gulp-rename
изменить только каталог назначения для вашего index.html
файл, не затрагивая другие файлы:
var gulpIf = require('gulp-if');
var rename = require('gulp-rename');
gulp.task('deploy-app', function () {
var conn = ftp.create({
host: 'xxx',
user: 'xxx',
password: 'xxx',
parallel: 10,
log: gutil.log
});
var globs = [
'./css/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}',
'./img/**',
'./views/**',
'./scripts/**',
'./dist/index.html',
'Web.config'
];
return gulp.src(globs, { base: '.', buffer: false })
.pipe(gulpIf('dist/index.html', rename({dirname:''})))
.pipe(conn.newer('/site/wwwroot'))
.pipe(conn.dest('/site/wwwroot'));
});