从事前端开发了 多年,我们项目已经实现了基于gulp的自动构建,但是每次发布到测试服务器的时候,都是手工拷贝,感觉十分繁琐。因此今天研究了一下基于gulp的自动部署。网上的方案很多,大部分都是基于scp或ftp/sftp实现的自动部署。我选择了基于SCP的技术方案。
因为SCP需要目标服务器具有SSH服务,因此,先保证服务器有SSH服务。大部分的Linux系统都默认带着SSH服务,新版的win10也是可以选装OpenSSH服务的。但是我的目标服务器是windows server 2008,所以需要先安装SSH服务。步骤如下:
(1)下载OpenSSH-Win64 安装包。
(2)解压后放到C:\Program Files目录下。
(3)打开CMD工具,进入到C:\Program Files\OpenSSH,安装SSH服务,执行如下命令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
(4)启动ssh服务
net start sshd
接下来编写gulpfile.js,示例代码如下:
'use strict';
var gulp = require('gulp');
var scp = require('gulp-scp3');
gulp.task('deploy', () => {
gulp.src('./dist/**', {
allowEmpty: true