# 通过 CI 打包(miniprogram-ci)

开发者可通过 miniprogram-ci 构建 APK 和 IPA,开发者需要先学习miniprogram-ci使用。

# 1、安装

npm install miniprogram-ci@alpha

# 2、构建 APK

# 示例代码


const ci = require('miniprogram-ci')
;(async () => {
  const project = new ci.Project({
    appid: 'wxsomeappid',
    type: 'miniProgram',
    projectPath: 'the/project/path',
    privateKeyPath: 'the/path/to/privatekey',
    ignores: ['node_modules/**/*'],
  })
  const buildResult = await ci.buildApk({
    project,
    keyAlias: 'keyAlias',
    keyPass: 'keyPass',
    keyStore: 'the/path/to/keystore',
    storePass: 'storePass',
    output: '/the/path/to/output',
    desc: 'build apk from ci',
  })
  console.log(uploadResult)
})()

# 参数

# 请求参数

  • 同时支持传入 ci.uploaod 的参数
类型 必填 说明
project IProject #项目对象
keyStore string 证书文件绝对路径
keyPass string 证书密码
storePass string 证书文件密码
keyAlias string 证书别名
output string 构建产物的保存路径,需要为系统绝对路径
useAab boolean 默认 false
desc string 版本描述
isUploadResourceBundle boolean 是否上传资源包
resourceBundleVersion string 资源包版本号
resourceBundleDesc string 资源包项目备注
disableCache boolean 是否清除构建缓存

# 返回参数

类型 必填 说明
errmsg string 构建信息
success boolean 构建是否成功

# 3、构建 IPA

支持本地构建与远程构建。本地构建 Ipa 仅支持在 macOS 上使用 codesign 进行签名,因此开发者需要确保 keychains 中包含自己的证书信息。windows 可以使用远程构建。

# 示例代码


const ci = require('miniprogram-ci')
;(async () => {
  const project = new ci.Project({
    appid: 'wxsomeappid',
    type: 'miniProgram',
    projectPath: 'the/project/path',
    privateKeyPath: 'the/path/to/privatekey',
    ignores: ['node_modules/**/*'],
  })
  const buildResult = await ci.buildIpa({
    project,
    output: '/the/path/to/output', // 构建产物的保存路径,需要为系统绝对路径
    profilePath: '/the/path/to/profile', // profile 文件地址,文件格式为 mobileprovision,相对项目根路径的相对路径
    certificateName: 'Apple Develop', // 签名证书名
    tpnsProfilePath: '/the/path/to/tnpsprofile', // tpnsProfile 文件路径,相对项目根路径的相对路径
  })
  console.log(uploadResult)
})()

# 参数

# 参数

同时支持传入 ci.uploaod 的参数。

类型 必填 说明
project IProject #项目对象
output string 构建产物的保存路径,需要为系统绝对路径
isDistribute string 是否使用分发证书
profilePath string profile 文件地址,文件格式为 mobileprovision,相对项目根路径的相对路径
certificateName string 证书别名
tpnsProfilePath string tpnsProfile 文件路径,相对项目根路径的相对路径
p12Path string p12 文件路径,文件格式为 p12,相对项目根路径的相对路径。使用远程构建时必填
p12Password string p12 密码。使用远程构建时必填
desc string 版本描述
isUploadResourceBundle boolean 是否上传资源包
resourceBundleVersion string 资源包版本号
resourceBundleDesc string 资源包项目备注
disableCache boolean 是否清除构建缓存
isRemoteBuild boolean 是否使用远程构建

# 返回

类型 必填 说明
errmsg string 构建信息
success boolean 构建是否成功

# 4、上传资源包

# 示例代码


const ci = require('miniprogram-ci')
;(async () => {
  const project = new ci.Project({
    appid: 'wxsomeappid',
    type: 'miniProgram',
    projectPath: 'the/project/path',
    privateKeyPath: 'the/path/to/privatekey',
    ignores: ['node_modules/**/*'],
  })
  const uploadResult = await ci.miniappCloudUpload({
    project,
    version: '0.1.24',
    androidPlatform: false,
    setting: {
      es6: true,
    },
  })
  console.log(uploadResult)
})()

# 参数

# 参数

同时支持传入 ci.uploaod 的参数。

类型 必填 说明
project IProject #项目对象
version string 版本号
desc string 版本描述
iOSPlatform boolean 适用平台 iOS,默认为 true
androidPlatform boolean 适用平台 Android,默认为 true

# 返回

类型 必填 说明
errmsg string 构建信息
success boolean 构建是否成功