gulp-deploy-http-push

gulp-deploy-http-push 是一个支持FSR安全推送部署的客户端插件,是 fis3-deploy-http-push 的gulp版本,具备完全一样的功能:
- TOKEN验证
- TOKEN缓存
- 优先共用FIS3的deploy配置 $HOME/.fis3-tmp/deploy.json,避免两种插件导致频繁验证
- 其次使用$HOME/.gulp-deploy-http-push.json
- 文件推送
Install
npm i gulp-deploy-http-push --save-dev
Example
import * as gulp from 'gulp';
import { httpPush } from 'gulp-deploy-http-push';
const PUSH = 'http://xxxxx:8210';
gulp.src(
`${__dirname}/src/**`, {
base: `${__dirname}/src`,
},
).pipe(httpPush([
{
host: PUSH,
match: '/**/*.tpl',
to: '/home/work/xxx/template/',
},
{
host: PUSH,
match: '/static/**',
to: '/home/work/xxx/webroot/',
},
]));
API
API DOC
其他
核心代码重构自FIS3版本,因FSR接口不是开源的,所以核心实现保留写法(因此也不优雅)。模块导出的另一个Deploy方法,是支持FIS3流的一层封装,可验证功能或用于二次开发FIS3插件(目前可以完全替代fis3-deploy-http-push)。
Variables
Const HOME
HOME: string = homedir()
Let TOKEN_FILE
TOKEN_FILE: string = `${HOME}/.fis3-tmp/deploy.json`
Const TOKEN_PATH
TOKEN_PATH: string = resolve(TOKEN_FILE)
Const Transform
Transform: any = stream.Transform
Functions
Deploy
-
Parameters
-
-
modified: IFile[]
-
total: any
-
callback: any
Returns void
blod
- blod(str: string): string
-
Parameters
Returns string
fetch
- fetch(url: any, data: any, callback: any): void
-
Parameters
-
url: any
-
data: any
-
callback: any
Returns void
filterList
- filterList(patterns: string[] | string, option?: IOptions): string[]
-
Parameters
-
patterns: string[] | string
-
Optional option: IOptions
Returns string[]
fupload
- fupload(url: any, opt: any, data: object, content: any, subpath: any, callback: any): void
-
Parameters
-
url: any
-
opt: any
-
data: object
-
content: any
-
subpath: any
-
callback: any
Returns void
green
- green(str: string): string
-
Parameters
Returns string
grey
- grey(str: string): string
-
Parameters
Returns string
httpPush
-
Parameters
Returns any
include
- include(filePath: string, patterns: string[] | string, option?: IOptions): boolean
-
Parameters
-
filePath: string
-
patterns: string[] | string
-
Optional option: IOptions
Returns boolean
requireEmail
- requireEmail(authApi: any, validateApi: any, info: any, cb: any): void
-
Parameters
-
authApi: any
-
validateApi: any
-
info: any
-
cb: any
Returns void
requireToken
- requireToken(validateApi: any, info: any, cb: any): void
-
Parameters
-
validateApi: any
-
info: any
-
cb: any
Returns void
upload
- upload(receiver: any, to: any, data: any, release: any, content: any, file: IFile, callback: any): void
-
Parameters
-
receiver: any
-
to: any
-
data: any
-
release: any
-
content: any
-
-
callback: any
Returns void
writeToken
- writeToken(options: any): void
yellow
- yellow(str: string): string
-
Parameters
Returns string
兼容FIS3-DEPLOY-HTTP-PUSH的Deploy方法 可以直接替换其对应FIS插件