@winner-fed/winner-deploy

Generate a publication deployed by the See platform

Usage no npm install needed!

<script type="module">
  import winnerFedWinnerDeploy from 'https://cdn.skypack.dev/@winner-fed/winner-deploy';
</script>

README

winner-deploy

功能接口说明

/**
 * 生成 see 平台部署包
 * @param options.system {string} 系统类型, SEE 平台的分组是以系统类型字段纬度来的, 默认为 winner-front
 * @param options.type {string} 应用类型, 外框架 - bizframe | 子系统 - subsystem, 默认为 子系统 - subsystem
 * @param options.name {string} 发布物名称
 * @param options.appType {string} 发布物类型, 默认为 应用名称 - name
 * @param options.version {string} 发布包版本
 * @param options.configName {string} 配置文件名称,不带有 .js, 默认为 config.local
 * @param options.templateFunc {function} 自定义变量配置文件, 默认为
 * function () {
     if (type === 'bizframe') {
      return `./dist/config.local.js`;
    }
  }
 * @param options.variablesFunc {function} deploy.xml模板变量, 可以动态配置, 默认为
 * function () {
 *  const context = process.cwd()
    if (type === 'bizframe') {
      try {
        const {variables} = require(path.resolve(
          context,
          'build',
          'package',
          `./variables.js`
        ));

        return variables || [];
      } catch (error) {
        console.error(error);
        return [];
      }
    }
  }
 * @param options.copyFiles {Array<string>} 不包含在 manifest.json 配置的文件,直接拷贝到 see 包里。文件路径是相对于项目根目录的路径+文件名,比如 dist/子包/version.js,那么 copyFiles: ['version.js']
 * @param options.description {string} 发布包说明
 * @param options.seePackageName {string} see发布物的包名,也就是 zip 包的命名,默认为 `${system}-${name}-${version}`
 * @param options.seePackageType see 平台发布物包的类型,'web'(默认的) | 'docker'(支持容器化部署的SEE发布物)
 * @param options.dockerImage docker 容器化镜像名,seePackageType 为 docker 生效
 * @param options.scriptsType 脚本类型 'python'(默认的) | 'bash'
 * @param cb {function} 回调函数,用于处理在组装 see 包后,可以自定义执行的动作
 */
exports.generateSeePackageZip = function generateSeePackageZip({system, type, name, appType, version, configName, templateFunc, variablesFunc, copyFiles, description, seePackageType, dockerImage, scriptsType}, cb) {
...
}