流水线自动打包小程序_uniapp自动上传小程序_阿里云流水线构建小程序
2024-11-20 10:27:29
因为公司需要自动上传小程序,则利用如下配置构建小程序自动化流水线
987
1.改造uniapp项目结构
新增一个文件夹conf,其中包含private.*.key文件与upload.js文件
private.*.key:小程序的上传密钥,在小程序后台获取,需要管理员权限
upload.js 上传js文件,使用此文件需要提前在后台配置上传IP,需要管理员权限
新增一个配置文件package-build.json,因为uniapp自带有package.json文件,所以新增-build后缀
2.打开阿里云流水线构建使用如下代码
mv conf ./unpackage/dist/build/mp-weixin //将conf移动到打包文件下 mv package-build.json ./unpackage/dist/build/mp-weixin/package.json //移动到打包文件并更正名称 cd ./unpackage/dist/build/mp-weixin //切换到指定目录 cnpm i //下载依赖 npm run upload //上传代码 !!!需要注意这里的服务器ip要在后台配置
upload.js:
const ci = require('miniprogram-ci') let { wxVersion: version, wxDesc: desc } = require('../package.json').wx if (!version) version = 'v1.0.0' if (!desc) desc = new Date() + '上传' const project = new ci.Project({ appid, type: 'miniProgram', projectPath: process.cwd(), privateKeyPath:`${process.cwd()}/conf/private.${appid}.key`, ignores: ['node_modules/**/*'], }) console.log({ appid, type: 'miniProgram', projectPath: process.cwd(), privateKeyPath:`${process.cwd()}/conf/private.${appid}.key`, ignores: ['node_modules/**/*'], }) ci.upload({ project, version, desc, setting: { minify: true, }, }).then(res => { console.log(res) console.log('上传成功') }).catch(error => { if (error.errCode == -1) { console.log('上传成功') } console.log(error) console.log('上传失败') process.exit(-1) })
阿里云微信小程序构建发布 https://help.aliyun.com/document_detail/202392.html?spm=a2c4g.201891.0.0.70cf7d77HXTjAA