小程序代码上传 ci
⏱ 小程序持续集成 ci
快速配置
yarn add @mario34/mp-ci -D
{
"scripts": {
"mp-ci": "mario34-mp-ci"
},
"mp-ci": {
"appid": "小程序appid",
"projectPath": "项目地址(相对process.cwd()目录的文件路径)",
"keyType": "file"
}
}
登录微信公众平台,前往 开发=>开发管理=>开发设置=>小程序代码上传,生成上传密钥,开启了上传白名单的话需要把 CI 物理机的 ip 加入到 ip 白名单
config
| appid | 小程序 appid | string | / | 是 |
| projectPath | 上传代码路径 | string | / | 是 |
| type | 显示指明当前的项目类型 | miniProgram/miniProgramPlugin/miniGame/miniGamePlugin | miniProgram | 否 |
| ignores | 排除的规则 | string[] | ['node_modules/**/*'] | 否 |
| keyType | 密钥类型 | file/raw | file | 否 |
cli 参数
需要规范化分支命名
- --key: 上传密钥文件路径
- --branch: 分支名称(分支名称将会被用作生成机器人号码)
release-* => ci 机器人 30
version-*.*.* => ci 机器人`${version.patch}`,patch为0时取27
持续集成
在 CI/CD 设置中配置添加变量,这里需要的是路径,所以变量类型设置为file, 在 ci 脚本中添加 npm run mp-ci --key ${key_path} --branch ${CI_COMMIT_BRANCH}
在仓库settings/secrets/actions添加上传密钥,这里只能给添加文本类型的密钥,所以需要在 mp-ci 配置中添加"keyType": "raw",在 ci 脚本中添加 npm run mp-ci --key ${{ secrets.key }} --branch ${{GITHUB_REF##*/}}