简单例子

任务描述:

  • 以提示器的方式选择发布到测试环境。

配置文件

// 项目根目录下fjpublish.config.js
module.exports = {
  modules: [
    {
      name: '测试环境',
      env: 'test',
      ssh: {
        host: '192.168.0.xxx',
        port: 22,
        username: 'root',
        //rc版本的user选项和userName选项请在未来统一配置为username
        password: 'xxxxxx'
      },
      buildCommand: 'webpack',
      localPath: 'example',
      remotePath: '/www/manman/test'
    },
    {
      name: '预发布环境',
      env: 'pre_release'
      //剩余配置参考‘测试环境’
    },
    {
      name: '正式环境',
      env: 'pre_release'
      //剩余配置参考‘测试环境’
    }
  ]
}
// 项目根目录下package.json
// 用于使用构建命令npm run webpack来调用webpack
...
"scripts": {
    "webpack": "webpack --config example/webpack/build/build.js"
},
...

发布命令

fjpublish env -s

动态图

示例发布流程
简单例子

更多

  • 可以使用命令fjpublish env <env> --diff开启差异化发布,每次发布只上传有改动的文件,极大的缩短上传时间。

  • 对于不需要构建的项目,不需要准备 package.json,并在配置文件中设置nobuild选项;

nobuild: true
  • 对于某次发布临时不需要构建的,请在命令中使用--h选项
fjpublish env <env> --nobuild