1.安装miniprogram-ci 和 simple-git
pnpm install miniprogram-ci simple-git --save-dev
2.新建目录miniprogram
3.创建miniprogram.js
const ci = require('miniprogram-ci');
const path = require('path');
const simpleGit = require('simple-git');
const git = simpleGit();
//!!!!!!!!!!!!!--------主要修改这里!!!!!!!!
const project = new ci.Project({
appid: 'wx51322323',//换成项目的appid
type: 'miniProgram',
projectPath: './dist/build/mp-weixin/',
privateKeyPath: './src/miniprogram-ci/private.123456456.key', // 换成微信公众平台->开发管理->小程序代码上传密钥中的秘钥,而且把域名白名单配置上
ignores: ['node_modules/**/*'],
});
//!!!!!!!!!!!!!!!!!!!!!!
(async () => {
try {
// 获取当前 git HEAD 的短ID
const shortCommitId = await new Promise((resolve, reject) => {
git.revparse(['--short', 'HEAD'], (err, result) => {
if (err) {
console.error('Failed to retrieve short ID of HEAD:', err);
reject(err);
return;
}
resolve(result.trim());
});
});
console.log('Short ID of HEAD:', shortCommitId);
// 获取最新的提交信息
const log = await git.log(['-1']);
const commitMessage = log.latest.message;
const commitHash = log.latest.hash;
console.log('Latest commit message:', commitMessage);
// 获取最新的标签信息
const tags = await git.tags();
const versionTag = tags.latest || '1.0.0';
console.log('Latest version tag:', tags,versionTag);
// 构建版本号
const shortCommitHash = commitHash.substring(0, 7);
const version = `${versionTag}.${shortCommitId}`;
const desc = commitMessage;
console.log('上传版本号:', version);
console.log('上传描述:', desc);
// 执行上传操作
console.log('开始上传...');
const uploadResult = await ci.upload({
project,
version,
desc,
setting: {
es6: true,
minify: true,
},
onProgressUpdate: console.log,
});
console.log('上传结果:', uploadResult);
process.exit();
} catch (error) {
console.error('上传失败:', error);
process.exit(1);
}
})();
4.配置package.json
"upload:prod": "pnpm run build:mp-weixin && node src/miniprogram-ci/miniprogram.js",
"upload:test": "pnpm run build:mp-weixin:test && node src/miniprogram-ci/miniprogram.js",
5.提示
运行如果报错就是没有配置白名单