uniApp微信小程序CI机器人自动化部署
1. 微信公众平台上,在开发设置里面小程序代码,将上传代码的服务IP地址填充下,生成一个上传秘钥下载下来
2. 将下载的秘钥文件放在uni-cli 项目的根目录下
3. npm 微信官方的miniprogram-ci模块
const ci = require('miniprogram-ci')
const path = require('path') // 需要用到项目目录文件
const project = await new ci.Project({
appid: appid, //appid
type: 'miniProgram',
projectPath: path.resolve(__dirname, './dist/build/mp-weixin'), //项目路径
privateKeyPath: path.resolve(__dirname, `./private.${appid}.key`), //小程序后台的上传密匙
ignores: ['node_modules/**/*'],
});
// 预览小程序
const previewResult = await ci.preview({
project,
desc: '预览', // 此备注将显示在“小程序助手”开发版列表中
setting: {
es6: true,
},
qrcodeFormat: 'image',
qrcodeOutputDest: path.resolve(__dirname, `./preview/previewQrcode.jpg`),
onProgressUpdate: console.log
});
let env_object = {
production: 1,
master: 2,
test: 3,
test02: 5,
development: 4
}
// 上传代码方法以及回调
const uploadResult = await ci.upload({
project,
robot: env_object[status],
version: mainfest.versionName,
desc: mainfest.description,
setting: mainfest['mp-weixin'].setting,
onProgressUpdate: console.log,
}).then(res => {
console.log(`版本${mainfest.versionName}`)
}).catch(error => {
throw error
})
4. 把上面的代码写到一个js 文件放在项目根目录下
文章来
5. 在package.json里面写好打包和启动的scripts脚本命令
"dev:mp-weixin": "cross-env NODE_ENV=development ENV_STATUS=development START_UP=dev UNI_PLATFORM=mp-weixin node autoUpload.js",
6.剩下的操作就是你上传好代码,打包交给jenkins构建工具就好了
7.jenkins直接执行遍历 npm run dev:mp-weixin 就可以