-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
54 lines (48 loc) · 1.83 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const gulp = require('gulp'),
debug = require('gulp-debug'),
log = require('fancy-log'),
ftp = require('vinyl-ftp'),
conf = {
paths: {
src: {
dir: './src',
htm: './src/html/*.html',
css: './src/css/*.css',
php: './src/php/*.php',
img: './src/img/*.*',
res: './src/res/*.*'
},
dist: './dist'
},
ftp: {
connection: ftp.create({
host: process.env.FTP_HOST,
user: process.env.FTP_USER,
password: process.env.FTP_PASS,
log: log,
idleTimeout: 10000
})
}
},
html = () => gulp
.src(conf.paths.src.htm)
.pipe(debug({title: 'Debug html:'}))
.pipe(gulp.dest(conf.paths.dist)),
php = () => gulp
.src(conf.paths.src.php)
.pipe(debug({title: 'Debug php:'}))
.pipe(gulp.dest(conf.paths.dist)),
copy = () => gulp
.src([conf.paths.src.css, conf.paths.src.img, conf.paths.src.res], {base: conf.paths.src.dir})
.pipe(debug({title: 'Debug copy:'}))
.pipe(gulp.dest(conf.paths.dist)),
deploy = () => gulp
.src([conf.paths.dist + '/**'], {base: conf.paths.dist, buffer: false})
.pipe(debug({title: 'Debug ftp:'}))
.pipe(conf.ftp.connection.dest(
process.env.TRAVIS_BRANCH == 'master' ?
process.env.FTP_PRODUCTION_PATH :
process.env.FTP_STAGING_PATH + '/' + process.env.TRAVIS_BRANCH
));
// default task (called from CLI when executing `gulp`)
gulp.task('default', gulp.series(gulp.parallel(html, php, copy), deploy));