我使用gulp watch和browser-sync在我的本地环境中制作WordPress网站。我如何能够将此本地环境设置与实时网站同步,以便在开发中进行的文件更改和sass编译自动部署到实际站点?我还需要一些同步数据库表的方法。
干杯
答案 0 :(得分:0)
我建议您不要自动同步您的环境。当你在本地破坏某些东西时,你也会立即在生产服务器上破坏它。
现在回答您的问题,使用像FTPBox Download from their website
这样的程序对于数据库同步,您必须在服务器和本地环境中编写导入/导出脚本,并使用mysqldump之类的东西将数据库放在.sql文件中。 (假设您使用的是MySQL或MariaDB)
同样,我强烈建议不要这样做,只是在你拥有一切稳定时进行部署。
答案 1 :(得分:0)
我回应上面关于将开发任务与部署分离的陈述。您可以设置一个单独的gulp任务,只有在您确定要上传文件后才能运行。
如果要使用gulp任务进行部署,请尝试vinyl-ftp。从他们的文件:
var gulp = require( 'gulp' );
var gutil = require( 'gulp-util' );
var ftp = require( 'vinyl-ftp' );
gulp.task( 'deploy', function () {
var conn = ftp.create( {
host: 'mywebsite.tld',
user: 'me',
password: 'mypass',
parallel: 10,
log: gutil.log
} );
var globs = [
'src/**',
'css/**',
'js/**',
'fonts/**',
'index.html'
];
// 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( '/public_html' ) ) // only upload newer files
.pipe( conn.dest( '/public_html' ) );
} );
在做任何事之前一定要查看setting up your ftp credentials safely in gulp。这是一篇非常好的文章。并且.gitignore任何凭据文件!