使用gulp watch和browser-sync将本地wordpress安装与实时站点同步?

时间:2018-05-08 06:36:11

标签: wordpress gulp browser-sync gulp-watch

我使用gulp watch和browser-sync在我的本地环境中制作WordPress网站。我如何能够将此本地环境设置与实时网站同步,以便在开发中进行的文件更改和sass编译自动部署到实际站点?我还需要一些同步数据库表的方法。

干杯

2 个答案:

答案 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任何凭据文件!