1.10.0 • Published 4 years ago

@lastos/setup-utils v1.10.0

Weekly downloads
5
License
MIT
Repository
-
Last release
4 years ago

安装包自动构建工具

安装

yarn add @lastos/setup-utils -D

使用

  • 新建setup.js文件,传入需要传入的配置,参考下面的配置
const path = require('path');
const generateSetup = require('@lastos/setup-utils');
const pkg = require('../package.json');

generateSetup({
  // 包名
  appName: 'lightapp-launcher',
  // 包的唯一ID,不能与其他包相同,不然安装时会覆盖其他应用
  appId: 'b756a0c0-b3b2-4048-8469-0bf5d91ead5a',
  // 安装后显示的名字
  language: {
    en: 'launcher',
    zh_cn: 'launcher',
    zh_hk: 'launcher',
  },
  // 必填,安装包输出的目录,绝对路径
  output: path.resolve(__dirname, '../output'),
  // 必填,静态资源打包后的路径,绝对路径
  artifactPath: path.resolve(__dirname, '../dist'),
  // 非必填,版本号,不填,则自动拿package.json的版本
  version: pkg.version,
  // windows安装包,传入此项,则编译出exe包
  nsis: {
    registry: {
      install: [
        'WriteRegStr "${PRODUCT_ROOT_KEY}" "SOFTWARE\\${PRODUCT_PUBLISHER}\\AppManager" "com.cvte.maxhub.launcher" "Dreadnaught LastContainer"',
      ],
      unInstall: [
        'DeleteRegValue "${PRODUCT_ROOT_KEY}" "SOFTWARE\\${PRODUCT_PUBLISHER}\\AppManager" "com.cvte.maxhub.launcher"',
      ]
    },
  },
  // Linux的安装包,传入此项,则编译deb包
  deb: {
    iconSize: 48,
    desktop: {
      "X-Cvte-Toolbar-Icon": "",
      "X-Cvte-Toolbar-Gadget": false,
      "X-Cvte-Toolbar-Icon-Level": 1,
      "X-Cvte-Toolbar-Icon-Location": 2,
      "X-Cvte-Toolbar-Hidden": false,
      "X-Cvte-Toolbar-Gadget-New": false,
      "X-Cvte-AppId": 'com.cvte.maxhub.launcher',
      "X-Cvte-AppVersion": addVersion(pkg.version),
      "NoDisplay": true
    }
  },
  // 上传artifactory
  artifactory: {
    url: 'https://artifactory.gz.cvte.cn/artifactory',
    // btoa('user:password'),base64的用户名:密码,可以手动写死base64的token
    token: '',
  },
  // windows安装包签名,签名文件需要自带,密码自带
  sign: {
    file: path.resolve(__dirname, './xxx.pfx'),
    password: '',
  }
})
  • package.json上添加一个新的脚本
"setup": "node jenkins/setup.js"
  • 然后在Jenkinsfile上的配置如下:
  stage('拉取代码') {
    cleanWs()
    checkout scm
  }

  stage('安装依赖') {
    sh 'yarn'
  }

  stage('编译') {
    sh "yarn build"
  }

  stage('发布静态资源') {
    archiveArtifacts artifacts: 'dist/**', onlyIfSuccessful: true
  }

  stage("安装包") {
    sh "yarn setup"
  }

  stage('发布安装包') {
    archiveArtifacts artifacts: 'output/**', onlyIfSuccessful: true
  }

配置

配置项是否必填说明
appName不填的话,自动取package.json的name属性,应用程序的名称(英文),需与main.js入口文件一致,决定了打出来的安装包的名字
appId应用的唯一编号,需与main.js入口文件一致,自己生成一个UUID,必须每个应用都不一样,冲突了会覆盖其他应用
output必填,输出安装包的路径,绝对路径
artifactPath必填,静态资源的路径,绝对路径
language.en应用程序的名称翻译,多语言 - 英文
language.zh_cn应用程序的名称翻译,多语言 - 简体中文
language.zh_hk应用程序的名称翻译,多语言 - 繁体中文
version应用版本,一般获取package.json的version字段即可,不填自动取
publisher非必填,windows默认值:MAXHUB,Linux默认值:CVTEr dss-linux@cvte.com,发布者
website非必填,windows默认值:www.maxhub.com,Linux默认值:https://www.cvte.com,发布者网站
nsis.copyright非必填,默认视臻的版权信息,版权信息
nsis.iconPath应用的图标,决定了生成到桌面的快捷方式的图标
nsis.shortcutsParams快捷方式启动的带参,如果传入则说明需要生成桌面快捷方式,如:{ operator: 'open', name: 'maxhub-lightapp-timer' }
nsis.registry.install类型:数组,注册表中install的部分会插入到注册表
nsis.registry.unInstall类型:数组,注册表中unInstall的部分会插入到注册表
nsis.beforeInstall.install类型:数组,安装包安装之前执行的任务
nsis.beforeInstall.uninstall类型:数组,安装包卸载之前执行的任务
nsis.resourcesDir默认值:LightAppRendersResources,类型:字符串,安装包的安装目录,为了可以兼容带MAXHUB的路径
deb.icon_size图标大小,16的倍数
artifactory.urlartifactory的地址
artifactory.tokenartifactory的令牌,base64的用户名:密码,可以手动写死base64的token
sign.filewindows的签名文件,绝对路径,通常是一个pfx文件
sign.passwordwindows签名的密码

编译环境

Mac

  • Deb编译:

通过安装brew安装dpkg

$ brew install dpkg
  • Exe编译:

已适配,但是无法使用签名工具,建议最终编译服务器使用windows

Windows

  • Exe编译:

完美支持

  • Deb编译:

下载安装 wpkg 工具,加入环境变量,C:\WPKG\bin,就可以完美支持了

1.9.4

4 years ago

1.10.0

4 years ago

1.9.3

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.1

4 years ago

1.7.0-beta.0

4 years ago

1.7.0-beta.3

4 years ago

1.7.0-beta.4

4 years ago

1.7.0-beta.1

4 years ago

1.7.0-beta.2

4 years ago

1.6.3

4 years ago

1.6.2

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.8

5 years ago

1.5.7

5 years ago

1.5.5

5 years ago

1.5.6

5 years ago

1.5.4

5 years ago

1.5.3

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.4.8

5 years ago

1.4.7

5 years ago

1.4.6

5 years ago

1.4.5

5 years ago

1.4.4

5 years ago

1.4.3

5 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.5

5 years ago

1.3.4

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.0

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.1.12

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.1

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago